python处理http接口请求
一、安装 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())