python常用模块学习:requests实例教程
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 | 客户端证书地址 |
- 实例
- 去除request请求的告警
import urllib3 urllib3.disable_warnings() #去除警告
- 设置重连次数
基本上意思就是发出的网络请求比较频繁,requests内置的urllibs3不能及时的为我们断开连接,于是就会触发报错。
代码的基本意思就是断开连接、增加重试次数。
#设置重连次数 requests.adapters.DEFAULT_RETRIES = 15 # 设置连接活跃状态为False s = requests.session() s.keep_alive = False
- 进行登录设备并存入cookie值
- 实例中使用request的session方法实现持久化cookie值,使之仅登录一次设备,之后可直接使用该cookie值进行操作。
- requests库的session会话对象可以跨请求保持某些参数。

- 读取csv文件内的数据
- 实例中将文件信息以字典形式存入字典config内。
- 通过对字典config内参数的提取达到取值的目的。

- 设置请求头信息
- 'Authorization':是指设置一个固定的值,值的内容随意
- 'Connection':每次连接过后都会关闭此次连接的请求
session.headers = {'Authorization': 'Basic a2FyYWY6a2FyYWY=', 'Connection': 'close'}
- 解决Python3 控制台输出InsecureRequestWarning的问题
使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误:
C:\Users\****\Python35\lib\site-packages\urllib3\connectionpool.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)