Python requests库核心源码解析
1、常用方法
requests.get() get请求,通过params传参
requests.post() post请求,通过data,json传参
(1)data传参:参数是dict,请求头是Content-Type:application/x-www-urlencoded,表示通过表单传参
格式:a=1&b=2
(2)json传参:参数是dict/str,请求头是Content-Type:application/json
格式:{'a':1,'b':2}
requests.put()
requests.delete()
requests.request()
2、重要的请求头
Content-Type:传参内容格式
application/x-www.urlencoded 表单
multipart/form-data 表单里有文件上传
text/plain 文本
binary 二进制文件
Accept:客户端接受的数据格式
X-Requested-With:异步请求
User-Agent:客户端的用户类型
Cookie:Cookie信息
3、requests.request()核心方法
请求参数:
method:请求方法,get/post/delete/put/...
url:接口地址
params:字典或元组列表或字节,作为参数增加到url中;一般用于get请求,post请求也可用(不常用)
data:字典,元组列表,字节或文件对象,作为post请求的参数(可文件上传)
json:JSON格式的数据,作为post请求的json参数
headers:请求头,字典类型
cookies:cookie信息,字典类型或者cookie对象
files:字典类型,传输文件,作为post请求文件流数据
auth:字典类型,HTTP认证
allow_redirects:bool类型,是否允许重定向
返回(response对象):
apparent_encoding:编码方式
close():关闭与服务器的连接
content:返回响应的内容,以字节为单位
cookies:返回一个 CookieJar 对象,包含了从服务器发回的 cookie
elapsed:返回一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如 r.elapsed.microseconds 表示响应到达需要多少微秒
encoding:解码 r.text 的编码方式
headers:返回响应头,字典格式
history:返回包含请求历史的响应对象列表(url)
is_permanent_redirect:如果响应是永久重定向的 url,则返回 True,否则返回 False
is_redirect:如果响应被重定向,则返回 True,否则返回 False
iter_content():迭代响应
iter_lines():迭代响应的行
json():返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)
links:返回响应的解析头链接
next:返回重定向链中下一个请求的 PreparedRequest 对象
ok:检查 "status_code" 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
raise_for_status():如果发生错误,方法返回一个 HTTPError 对象
reason:响应状态的描述,比如 "Not Found" 或 "OK"
request:返回请求此响应的请求对象
status_code:返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
text:返回响应的内容,unicode 类型数据
url:返回响应的 URL
4、params、data、json区别
params:get请求 中接收参数,params=字典类型的数据
data:post请求中接收参数,data=字典格式的数据(content_type为键值对的编码格式)
json:post请求中接收参数,json=字典格式的数据(content_type为application/json),使用json接收会自动将字典转换为json;也可以用data接收json格式的数据,data=json.dump(字典格式的数据)
标签:返回,请求,json,post,requests,字典 From: https://www.cnblogs.com/Will-Zh/p/17071759.html