1. 程式人生 > 實用技巧 >requests介面測試-post請求

requests介面測試-post請求

一,post請求

1.1 post常用的提交方式:
Post提交方式 描述 備註
application/json JSON資料格式
application/x-www-form-urlencoded form表單如果不設定enctype 屬性,預設以application/x-www-form-urlencoded方式提交 key/value格式
multipart/form-data 在表單中進行檔案上傳時,需要使用該格式,form表單中的enctype需要設定為multipart/form-data 需要安裝第三方包requests-toolbelt
1.2 requests.post()常用請求方式

預設情況下,通過requests.post()進行POST請求時,引數有data和json兩種方式。常見的form表單使用data引數提交報文,data引數可以是字串,列表,字典或者檔案物件。data引數為字串時,如data=json.dumps(payload),headers中Content-Type預設為'text/html; charset=UTF-8',建議Content-Type設定為application/x-www-form-urlencoded。如果post請求體是json格式,可以直接傳json引數,傳json引數時會將請求中的Content-Type更改為application/json。

二,data格式傳參

抓包

登入聚合網站首頁,按F12調出開發工具,輸入賬號和密碼,點選登入,抓取登入介面的請求,檢視請求URL地址和請求引數,如圖:

程式碼
"""
介面名稱:聚合資料網站登入介面
目標:掌握post請求兩種方式data和json
介面URL:https://www.juhe.cn/login/login
請求方法:post
請求引數:username  password
"""
import  requests

#第一種表單格式Content-Type: application/x-www-form-urlencoded;
url="https://www.juhe.cn/login/login"
data={
"username":182xxxxxxxx,
"password": "xxxxxxx"
}
r=requests.post(url,data=data,verify=False)
print(r.text)
print(r.status_code)
程式碼演示:

三,json格式傳參

"""
介面名稱:httpbin post介面
目標:掌握post請求兩種方式data和json
介面URL:https://httpbin.org/post
請求方法:post
請求引數:username,password
"""
import  requests
#第二種json格式Content-Type: application/json;
url="https://httpbin.org/post"
payload={
'username':'python',
'password': 123456
}
#忽略警告資訊
requests.packages.urllib3.disable_warnings()
#傳送請求,json引數會自動將字典型別的物件轉換為json格式
r=requests.post(url,json=payload,verify=False)
#列印正文資訊
print(r.text)
#列印返回碼
print(r.status_code)
#列印請求頭
print(r.headers)

程式碼演示: