1.咱們使用postman進行接口測試的時候,發現POST請求方式的編碼有3種,具體的編碼方式以下:python
A:application/x-www-form-urlencoded ==最多見的post提交數據的方式,以form表單形式提交數據json
B:application/json ==以json格式提交數據app
C:multipart/form-data ==通常使用來上傳文件(較少用)post
2.咱們使用python作接口測試時,常用的方式爲:requests.post(url,data),具體咱們使用不一樣的編碼方式來作接口測試:測試
A:Requests以form表單形式發送post請求,具體代碼實現以下所示:編碼
import requests,json url = 'http://httpbin.org/post' data = {'key1':'value1','key2':'value2'} r =requests.post(url,data) print(r) print(r.text) print(r.content)
A1:運行結果以下所示:url
B:Requests以json形式發送post請求,具體代碼實現以下所示:code
import requests,json url_json = 'http://httpbin.org/post' data_json = json.dumps({'key1':'value1','key2':'value2'}) #dumps:將python對象解碼爲json數據 r_json = requests.post(url_json,data_json) print(r_json) print(r_json.text) print(r_json.content)
B1:運行結果以下所示:orm
C:Requests以multipart形式發送post請求,具體代碼實現以下所示:對象
import requests,json url_mul = 'http://httpbin.org/post' files = {'file':open('E://report.txt','rb')} r = requests.post(url_mul,files=files) print(r) print(r.text) print(r.content)
C1:運行結果以下所示:
注:E://report.txt==自定義,具體根據本身放的目錄來定義,內容隨意