安装
pip install requests
使用
import requests
from requests import Session
重写requests
class MySession(Session):
def request(self, method, url, *args, **kwargs):
url = 'http://www.baidu.com/api' + url
resp = super(MySession, self).request(
method, url, *args, **kwargs
)
return resp
req = MySession()
req.headers = {"Accept": "application/json",}
发送GET请求
req.get('address')
发送POST请求
req.post('login',json={"account":"test","password":"123456"})
发送multipart/form-data 请求
参考:使用python的requests 发送multipart/form-data 请求
一个multipart/form-data 的表单数据,在http里面抓包如下:
------WebKitFormBoundaryVC8tladcocNyAE7v
Content-Disposition: form-data; name="file";
filename="test.csv"
Content-Type: application/vnd.ms-excel
------WebKitFormBoundaryVC8tladcocNyAE7v
Content-Disposition: form-data;
name="test_id" 123
------WebKitFormBoundaryVC8tladcocNyAE7v
Content-Disposition: form-data; name="name" test
------WebKitFormBoundaryVC8tladcocNyAE7v
上述数据在requests请求里面可以模拟为:
data1={
"file":('test.csv',open('文件路径','rb'),'application/vnd.ms-excel'),
"test_id": (None,"123"),
"name":(None, "1"),
}
header1 = {
"Content-Type":"multipart/form-data; boundary=----WebKitFormBoundaryVC8tladcocNyAE7v"
}
response=req.post(url,files=files,header=header1)
获取请求响应信息
resp.request.url 请求url
resp.json() 响应结果
resp.request.body 请求体
resp.request.headers 请求头