python之requests库分析
2021-04-08 01:26
标签:def text 自动 ali 图片 org any 方法 return 1.requests库发送请求时,params和data、json的区别 params的时候之间接把参数加到url后面,只在get请求时使用,data、json是用在post请求,json是传递的json格式的数据 python之requests库分析 标签:def text 自动 ali 图片 org any 方法 return 原文地址:https://www.cnblogs.com/qqxin/p/13380075.htmlparams: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`.
params是一个字典或者bytes类型,用来查询data: (optional) Dictionary or list of tuples ``[(key, value)]`` (will be form-encoded), bytes, or file-like object to send in the body of the :class:`Request`.
data可以是一个字典或者元组或者bytes或者文件对象,用在请求的bodyjson: (optional) json data to send in the body of the :class:`Request`.
json用于请求body,且传输的是json格式数据
2.requests库响应结果content和text、json区别
text:Content of the response, in unicode 可以接收文本格式的响应报文,unicode编码json:Returns the json-encoded content of a response, if any
注意:If the response body does not contain valid json 如果响应body不是json格式的会报错,所以只有当响应body是json格式才可以用此方式接收响应报文
content:Content of the response, in bytes 接收bytes格式的报文,一般用来接收图片或者文件二进制
text、json是属性方法,调用不需要加(),而json是普通方法,调用需要加()response.content
response.text
response.json()
requests库response 响应内容r.url #获取请求url
r.encoding #获取当前的编码
r.encoding = ‘utf-8‘ #设置编码
r.text #以encoding解析返回内容。字符串方式的响应体,会自动根据响应头部的字符编码进行解码。
r.content #以字节形式(二进制)返回。字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩。
r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
r.status_code #响应状态码
r.raw #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read()
r.ok # 查看r.ok的布尔值便可以知道是否登陆成功
#*特殊方法*#
r.json() #Requests中内置的JSON解码器,以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常
r.raise_for_status() #失败请求(非200响应)抛出异常
基本身份认证(HTTP Basic Auth)import requests
from requests.auth import HTTPBasicAuth
r = requests.get(‘https://httpbin.org/hidden-basic-auth/user/passwd‘, auth=HTTPBasicAuth(‘user‘, ‘passwd‘))
# r = requests.get(‘https://httpbin.org/hidden-basic-auth/user/passwd‘, auth=(‘user‘, ‘passwd‘)) # 简写
print(r.json())
文章标题:python之requests库分析
文章链接:http://soscw.com/index.php/essay/72640.html