引言
requests在目前的工作中,主要用于『接口测试』中client发起请求。requests是一个同步库(即堵塞后无法继续执行),requests是基于urllib3进行封装。
1、安装
pip install requests
2、使用说明
常用方法
类型 | 方法 | 说明 | 示例 |
---|---|---|---|
必填 |
| url | 请求地址 | requests.get/post(url=”真实url”) | | | params | 请求body | requests.get/post(url=”真实url”,params=XXX,等) | | | data | 使用data参数,报文是dict类型 | requests.get/post(url=”真实url“,data=XXX/json.dumps(xx),等等) | | | json | 使用json参数,不管报文是str类型,还是dict类型 | requests.get/post(url=”真实url“,json=XXX,等等) | | | header | 设置请求headers信息(Cookies、Content-Type等) | myHeaders={“Cookies”:”myCookiesByLogin”,Content-Type:”application-json”}) | | 非必填
| timeout | 请求超时设置(秒)—-》超时后,会停止等待响应 | requests.get/post(url=”真实url“,timeout=5) |
| | verify | https-ca证书检查
【默认】verify=True # 验证CA证书
验证CA证书
verify=(本地)xxx.pem | requests.get/post(url=”真实url“,verify=True,等)
requests.get/post(url=”真实url“,verify=False,等)
requests.get/post(url=”真实url“,verify=”xxx/xxx1.pem”,等) |
| | files | 文件上传(二进制读取打开文件)
【原因:Requests会默认在headers添加Content-Length,并对此字段设定“文件字节数”】 | files={“file”:open(“”xxx/xx1.文件格式”,”r”}
requests.get/post(url=”真实url”,files=files,等等) |
| | allow_redirct | 重定向【默认:禁止重定向—>False】 | 禁止重定向
requests.get/post(url=url)
requests.get/post(url=url,allow_redict=False)
可以重定向
requests.get/post(url=url,allow_redict=True) |
| | proxies | 设置-代理 | proxies={“http”:”ip:port”,”https”:”ip:port”}
requests.get/post(url=”真实url”,proxie=proxies,等等) |
2、https
发送https请求就必须要安装certifi【pip install certifi】
import requests
requests.packages.urllib3.disable_warnings() # 屏蔽报错信息
def httpsRequestDemo():
response=requests.post(url,headers,data=参数,verify=False).json()