【Python接口自动化测试】(10)Requests 库详解
Requests 库详解
1、请求方法
- requests.get()
- requests.post()
- requests.put() ...
- requests.session(): 用于保持会话(session) 除了requests.session()外,其他请求方法的参数都差不多,都包含url,params, data, headers, cookies, files, auth,timeout等等
2、请求参数
- url: 字符串格式,参数也可以直接写到url中
- params:url参数,字典格式
- data: 请求数据,字典或字符串格式
- headers: 请求头,字典格式
- cookies: 字典格式,可以通过携带cookies绕过登录
- files: 字典格式,用于混合表单(form-data)中上传文件
- auth: Basic Auth授权,数组格式 auth=(user,password)
- timeout: 超时时间(防止请求一直没有响应,最长等待时间),数字格式,单位为秒
3、响应解析
- res.status_code: 响应的HTTP状态码
- res.reason: 响应的状态码含义
- req.text:响应的文本格式,按req.encoding解码
- req.content: 响应的二进制格式
- req.encoding: 解码格式,可以通过修改req.encoding='utf-8'来解决一部分中文乱码问题
- req.apparent_encoding:真实编码,由chardet库提供的明显编码
- req.json(): (注意,有括号),响应的json对象(字典)格式,慎用!如果响应文本不是合法的json文本,或报错
- req.headers: 响应头
- req.cookies: 响应的cookieJar对象,可以通过req.cookies.get(key)来获取响应cookies中某个key对应的值 ... 示例:
import requests res = requests.get("https://www.baidu.com") print(res.status_code, res.reason) # 200 OK print(res.text) # 文本格式,有乱码 print(res.content) # 二进制格式 print(res.encoding) # 查看解码格式 ISO-8859-1 print(res.apparent_encoding) # utf-8 res.encoding='utf-8' # 手动设置解码格式为utf-8 print(res.text) # 乱码问题被解决 print(res.cookies.items()) # cookies中的所有的项 [('BDORZ', '27315')] print(res.cookies.get("BDORZ")) # 获取cookies中BDORZ所对应的值 27315
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
本文来自博客园,作者:hello_殷,转载请注明原文链接:https://www.cnblogs.com/yinzuopu/p/15530839.html
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。