python常用模块学习:requests实例教程

request模块用于构造模拟http消息的交互,自动化构造模拟http报文交互。

  1. 常用方法
方法 作用 备注
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获取到的信息以此方式进行编码
  1. 常用参数
参数 含义
url 请求的URL地址
params GET请求参数
data POST请求参数
json 也是POST请求参数,要求服务端接收json格式的数据
headers 请求头字典
cookies cookie信息
files 上传文件
auth HTTP鉴权信息
timeout 等待响应时间,单位:秒
allow_redirects 是否允许重定向
proxies 代理信息
verify 是否校验证书
stream 如果为False,则响应内容将直接全部下载
cert 客户端证书地址
  1. 实例
  2. 去除request请求的告警

import urllib3 urllib3.disable_warnings() #去除警告

  1. 设置重连次数

基本上意思就是发出的网络请求比较频繁,requests内置的urllibs3不能及时的为我们断开连接,于是就会触发报错。
代码的基本意思就是断开连接、增加重试次数。
#设置重连次数 requests.adapters.DEFAULT_RETRIES = 15 # 设置连接活跃状态为False s = requests.session() s.keep_alive = False

  1. 进行登录设备并存入cookie值
  2. 实例中使用request的session方法实现持久化cookie值,使之仅登录一次设备,之后可直接使用该cookie值进行操作。
  3. requests库的session会话对象可以跨请求保持某些参数。
  1. 读取csv文件内的数据
  2. 实例中将文件信息以字典形式存入字典config内。
  3. 通过对字典config内参数的提取达到取值的目的。
  1. 设置请求头信息
  • 'Authorization':是指设置一个固定的值,值的内容随意
  • 'Connection':每次连接过后都会关闭此次连接的请求

session.headers = {'Authorization': 'Basic a2FyYWY6a2FyYWY=', 'Connection': 'close'}

  1. 解决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: urllib3.readthedocs.io/ InsecureRequestWarning
import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

THE END