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())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM