python利用requests模拟http请求及请求头


一、通过requests发送请求

之前一直使用urllib以及urllib2模拟http请求发送,在实际场景中,我们需要造自己定义好的header、body等等,使用urllib很麻烦,很偶然的机会,接触到了requests,可以通过发送xml、简单易用,直接上代码:

requests 

connected():
    
    #通过形参传入url以及请求参数,get方法发送请求
    (param):
        get = requests.get(==param)
        
        #关闭连接
        get.close()
        
        #返回response
        get.text

    
    #通过形参传入url,测试数据,请求头,post方法发送请求
    (dataheader):
        post = requests.post(=data=header)
        
        #关闭连接
        post.close()
        
        #返回respone
        post.text

二、获得session,并把session插入到header里发送给服务器

from com.utils.ConnUrl import ConnUrl
import requests

class getheader():

    @staticmethod
    def session():
    
    #封装测试数据
        data = ‘test data‘
        url = ConnUrl.getUrl ()
        url = url+‘200000‘
    #设置header
        header = {‘content-type‘:‘application/octet-stream‘}
    #post请求
        post = requests.post(url, data=data, headers=header)
    #通过split函数切割返回数据,获得session
        jsessionid = post.headers[‘Set-Cookie‘].split(‘;‘)[0]
        return jsessionid
时间: 2024-10-14 06:20:05

python利用requests模拟http请求及请求头的相关文章

Java利用Http 模拟POST、GET请求

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class HttpTry { /** * 向指向

Python利用cookie模拟网站登录

Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了 [[email protected]~]# cat cscook.py #!/usr/bin/python #-*- coding: UTF-8 -*- import cookielib import urlli

[python]利用selenium模拟用户操作抓取天猫评论数据

准备: python3.5 安装selenium包 第一种方法: cmd里输pip install selenium,但是经常报错 第二种方法: 下载安装包-cmd进入解压路径-python setup.py install-报错permission denied-右键安全更改报错文件夹权限为完全控制-再次安装成功unknown error: unable to discover open pages-下载chromedriver放在环境变量目录下测试自动打开百度时提示"您使用的是不受支持的命令

python利用dict模拟switch

pytho本身并未提供switch语句,但可以通过dict来模拟switch, #方法1 def add(x,y): return x+y def dec(x,y): return x-y def multi(x,y): return x*y def div(x,y): return x/y operater = {'+':add,'-':dec,'*':multi,'/':div} def calculator(x,o,y): return operater.get(o)(x,y) #方法2

python用socket模拟post请求

今天用python的socket模拟了下post请求,通过这个实例可以更加了解python中socket的使用,以及http请求和socket的相互关系等知识. #coding=utf-8 import socket if __name__=="__main__": s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("www.xxxxx.com",80)) #pyhon 字符串很长时可以

Python 利用 BeautifulSoup 爬取网站获取新闻流

0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup:   4.2.0 , 是一个可以从HTML或XML文件中提取数据的Python库* ( BeautifulSoup 的中文官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ ) 2. 代码介绍 实现主要分为三个模块: 1. 计时

使用python的requests 发送multipart/form-data 请求

网上关于使用python 的发送multipart/form-data的方法,多半是采用 ulrlib2 的模拟post方法,如下: import urllib2 boundary='-------------------------7df3069603d6' data=[] data.append('--%s' % boundary) data.append('Content-Disposition: form-data; name="app_id"\r\n') data.appen

python get post模拟请求

1.使用get方式时,url类似如下格式: [html] view plaincopy index.jsp?id=100&op=bind GET报问头如下: [html] view plaincopy GET /sn/index.php?sn=123&n=asa HTTP/1.1 Accept: */* Accept-Language: zh-cn host: localhost Content-Type: application/x-www-form-urlencoded Content

利用fiddler模拟发送json数据的post请求

fiddler是调试利器,有许多好用的功能,这里简单的介绍一下利用fiddler模拟发送post请求的例子 先简单介绍一下失败的例子,最后给出正确的方法 在fiddler里边按照图上所示的设置好之后,点击右上角的execute,会报错 看下原因说的是后端不支持你提交数据的格式,也就是你发送的数据格式不对,可以添加请求头即可 如图设置 这样就ok了 利用fiddler的模拟post请求的时候,自己可以根据报错,修改就ok