文章目录
一、Requests 库简介
用于发送 http 请求的第三方库。安装:
pip install requests
二、Requests 库常用的方法
1.requests.get(url, params=None, **kwargs)
发送 get 请求(通过 params 传参)
2.requests.post(url, data=None, json=None, **kwargs)
发送 post 请求(通过 data 和 json 传参)
请求头:
- 1.请求正文格式:
multipart/formdata
文件上传
ContentType:multipart/formdata 一般用于传 键值对和文件 - 2.请求正文格式:
application/xwwwformurlencoded
键值对
ContentType:application/xwwwformurlencoded 以表单的方式传参
数据格式:key1=value1&key2=value2
- 3.请求正文格式:
raw
Content-Type:application/json
Content-Type:text/plain
Content-Type:application/javascript
Content-Type:text/html
Content-Type:application/xml - 4.请求正文格式:
binary
Content-Type:application/octetstream 二进制流的数据
3.requests.put() 发送 put 请求
4.requests.delete() 发送 delete 请求
5.requests.request() 发送任意请求,最核心的方法
核心参数 | 解释 |
---|---|
method | 请求方式 |
url | 请求路径 |
params=None | get方式传参 |
data=None | post,put,patch传参 |
headers=None | 请求头 |
cookies=None | 请求的cookie信息 |
files=None | 文件上传 |
json=None | post传参 |
不常用参数 | 解释 |
---|---|
auth=None | 鉴权 |
timeout=None | 超时 |
allow_redirects=True | 重定向 |
proxies=None | 代理 |
hooks=None | |
stream=None | 文件下载 |
verify=None | 是否需要验证证书 |
cert=None | CA证书 |
6.requests.session() 发送任意请求,最核心的方法
总结:前四种方法是通过调用第五种方法实现的,第五种方法是通过调用第六种方法实现的
三、request() 执行之后返回 response 对象
方法 | 解释 |
---|---|
res.text | 响应的字符串格式的数据 |
res.content | 响应的bytes类型格式的数据 |
res.json() | 响应的字典数据格式 |
res.status_code | 响应的状态码 |
res.reason | 响应的状态信息 |
res.cookies | 响应的cookie信息 |
res.headers | 响应头 |
res.request.headers | 请求头 |
四、发送 get,post 请求传参<data 传参,json 传参,传文件>
json.dumps(data) 序列化,把字典转换成 str 字符串
json.loads(data) 反序列化,把字符串转换成字典
post:
-
data 传参 (键值对的字典)
请求头默认:ContentType:application/xwwwformurlencoded 数据格式:key1=value1&key2=value2
当使用 json.dumps(data) 转换之后,那么默认:‘ContentType’: ‘application/json’ -
json 传参(有嵌套的字典)
请求头默认:‘ContentType’: ‘application/json’
-
files 传参(文件上传)
请求头默认:ContentType’: 'multipart/formdata;
五、Cookie 关联
基本上所有的 web 项目需要带请求头的接口都需要做 cookie 关联。
- 1、获取 token 和 cookie
- 2、传请求头 和 cookies
六、Session 关联
因为 session 就表示同一个会话,同一个会话里面的 cookie 会自动关联。
-
1、初始化 session 对象
-
2、开始进行会话请求
-
3、使用会话请求,会自动关联cookies