一、安装 requests和jsonpath 模块
安装命令:pip install requests
pip install jsonpath
二、requests 处理常见的接口请求参数类型
1、表单类型的参数:
1)请求参数类型:content-type: application/x-www-form-urlencoded*
2)requests 发送请求,传递表单参数,应该使用 data 去传递
import requests
from jsonpath import jsonpath
url = 'https://***.******.com/v3.3/uaa/login'
params = {
"username": "131********",
"password": "************"
}
headers = {
"x-app-id": "******"
}
res = requests.request('post', url, data=params, headers=headers).json()
# 使用jsonpath获取登录接口返回的token值,后边请求接口的headers中需要用到
token = jsonpath(res, '$..token')[0]
2、JSON 类型的参数:
1)请求类型为 Content-Type:Application/json
2)requests 发送请求,传递 JSON 参数,就应该使用 JSON 去传递
import requests
from jsonpath import jsonpath
url = 'https://***.******/getExamList'
params = {
"pageNum": 1,
"pageSize": 20
}
headers = {
"x-app-id": "******",
# 依赖登录接口返回的token值
"x-auth-token": token
}
res = requests.request('post', url, json=params, headers=headers)
print(res.json())
3、查询字符串参数:
1)常用于 get 请求(其他的请求方法用的少)
2)参数会直接拼接在 url 地址后面
3)requests 发送请求,传递查询字符串参数,要使用 params
url = 'https://***.******/findAll'
params = {
"pageNum": 1,
"pageSize": 9999
}
headers = {
"x-app-id": "******",
# 依赖登录接口返回的token值
"x-auth-token": token
}
res = requests.request('get', url, params=params, headers=headers)
print(res.json())
4、文件上传
1)请求参数类型:content-type:application/form-data(postman 请求参数也选择这个)
2)文件参数要使用 files 进行传递
3)文件参数的组装:两种形式****
{"参数名":("文件名",open 以 rb 模式打开文件,"文件类型")}
{("参数名",("文件名",open 以 rb 模式打开文件,"文件类型"))}
import requests
url = 'http://127.0.0.1:5000/upload'
# 请求参数
params = {
"nickname":'奔奔',
}
file = {
'pic':('test.gif',open('test.gif','rb'),'image/gif')
}
response = requests.post(url=url, data=params, files = file)
print(response.json())
标签:http,python,接口,headers,token,params,url,参数,requests
来源: https://www.cnblogs.com/benben-wu/p/13919760.html