一、安裝 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())