requests库学习笔记
?
1.1安装
-
pip install requests
-
python -m pip install requests
1.2使用
#1.导包 import requests #2.准备接口三要素 #请求地址+请求方式+请求参数 url = "http://127.0.0.1/api/mgr/signin" parameters = { "username":"byhy", "password":"88888888" } #发送请求 response = requests.post(url = url,data = parameters) #返回值 print(response) ''' response.text#将返回值按照文本格式显示 response.json()#将返回值按照json格式显示,对于返回值类型为json格式--->常用 response.status_code#响应码 response.headers#获取响应头 response.content#获取相应源码 #返回值数据为json格式时进行返回值格式化-->纯粹是为了美化返回结果. ''' #json和python之间的转化 result_json = response.json() #将返回值按照json格式显示 result_json_format = json.dumps(result_json,indent=4,ensure_ascii=False)#返回值数据为json格式时进行格式化 print(result_json_format)
1.3requests的get请求
-
不带参数的get请求
-
requsts.get(url = url,params = None)
-
-
带参数的get请求
-
requsts.get(url = url,params = data)
-
''' 1. 导入requests 2. 准备接口三要素 1. 请求地址 2. 请求方式 3. 请求参数:字典格式 {键:值} 3.发送请求 ''' import requets import json url = "http://127.0.0.1/api/mgr/customers" parameters = { 'action':'list_customer', # 固定传参 'pagesize':30, 'pagenum':1, 'keywords':'医院' } response = requests.get(url = url,params = parameters) #返回值以json格式显示 result_json = response.json() #json格式返回值格式化 result_json_data = json.dumps(s,indent=4,ensure_ascii=False) print(result_json_data)
1.4requests的post请求
语法 requests.post(url,data=None,json=None,files=None)
-
1.x-www-form-urlencoded请求参数类型
-
参数:字典格式 {键:值}
-
语法:requests.post(url = url,data = parameters)
-
-
2.json格式请求参数类型
-
参数:json格式
-
语法 requests.post(url = url,json = parameters ) 或 requests.post(url = url,json = parameters,headers = headers )
-
requests中会默认将headers中的contentType设置为:application/json
-
headers的作用:当服务器端对信息头中的字段User-Agent做自动化验证时,不让python或者postman客户端通过,可以伪装下,把User-Agent内容改为浏览器的
-
-
headers = { "content-Type":"application/json", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36" }
.3.form-data格式请求参数类型
-
语法1 http请求:requests.post(url = url ,data = parameters ,headers = headers)
-
语法2 https请求:requests.post(url = url ,data = parameters ,headers = headers,verify=False)
-
需要导入requests_toolbelt
from requests_toolbelt import MultipartEncoder
重新组合header
m = MultipatEncoder(fields=parameters) headers = { "contentType":m.content_type }
4.binary参数类型
- 方法:requests.post(url = url,files = data,verify=False)
- 请求参数:
? files = open("test.txt","rb")
? data = {"files":files}
?