request模块用于构造模拟http消息的交互,自动化构造模拟http报文交互。
方法 | 作用 | 备注 |
r.status_code | 返回响应状态码 | r为请求体赋值的变量 |
r.raw | 返回响应体 | urllib 的 response 对象,使用 r.raw.read() 读取 |
r.content | 字节方式的响应体,会自动解码gzip和deflate压缩 | |
r.text | 字符串方式的响应体,会自动根据响应头部的字符编码进行解码 | |
r.headers | 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None | |
r.elapsed.total_seconds() | 获取rest请求响应的时间 | |
encode、decode | encode():以某种格式进行编码 decode():以某种格式进行解码 | |
特殊方法 | ||
r.json() | Requests中内置的JSON解码器 | |
r.raise_for_status() | 失败请求(非200响应)抛出异常 | |
r.text.encode("ISO-8859-1") | "ISO-8859-1":是网页的一种的编码方式,此方法的作用是将get获取到的信息以此方式进行编码 |
参数 | 含义 |
url | 请求的URL地址 |
params | GET请求参数 |
data | POST请求参数 |
json | 也是POST请求参数,要求服务端接收json格式的数据 |
headers | 请求头字典 |
cookies | cookie信息 |
files | 上传文件 |
auth | HTTP鉴权信息 |
timeout | 等待响应时间,单位:秒 |
allow_redirects | 是否允许重定向 |
proxies | 代理信息 |
verify | 是否校验证书 |
stream | 如果为False,则响应内容将直接全部下载 |
cert | 客户端证书地址 |
import urllib3 urllib3.disable_warnings() #去除警告
基本上意思就是发出的网络请求比较频繁,requests内置的urllibs3不能及时的为我们断开连接,于是就会触发报错。 代码的基本意思就是断开连接、增加重试次数。 #设置重连次数 requests.adapters.DEFAULT_RETRIES = 15 # 设置连接活跃状态为False s = requests.session() s.keep_alive = False
- 'Authorization':是指设置一个固定的值,值的内容随意
- 'Connection':每次连接过后都会关闭此次连接的请求
session.headers = {'Authorization': 'Basic a2FyYWY6a2FyYWY=', 'Connection': 'close'}
使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误: C:Users****Python35libsite-packagesurllib3connectionpool.py:986: InsecureRequestWarning: Unverified HTTPS request is being made to host 'iam.cn-north-4.myhuaweicloud.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)