轉(zhuǎn)自:https://www.cnblogs.com/android-it/p/9558751.html
1.我們使用postman進行接口測試的時候疮方,發(fā)現(xiàn)POST請求方式的編碼有3種肢簿,具體的編碼方式如下:
A:application/x-www-form-urlencoded ==最常見的post提交數(shù)據(jù)的方式强品,以form表單形式提交數(shù)據(jù)
B:application/json? ? ==以json格式提交數(shù)據(jù)
C:multipart/form-data? ==一般使用來上傳文件(較少用)
2.我們使用python做接口測試時检碗,經(jīng)常使用的方式為:requests.post(url,data),具體我們使用不同的編碼方式來做接口測試:
A:Requests以form表單形式發(fā)送post請求,具體代碼實現(xiàn)如下所示:
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:運行結(jié)果如下所示:
B:Requests以json形式發(fā)送post請求,具體代碼實現(xiàn)如下所示:
import?requests,json
url_json?=?'http://httpbin.org/post'
data_json?=?json.dumps({'key1':'value1','key2':'value2'})?#dumps:將python對象解碼為json數(shù)據(jù)
r_json?=?requests.post(url_json,data_json)
print(r_json)
print(r_json.text)
print(r_json.content)
B1:運行結(jié)果如下所示:
C:Requests以multipart形式發(fā)送post請求,具體代碼實現(xiàn)如下所示:
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:運行結(jié)果如下所示:
注:E://report.txt==自定義象踊,具體根據(jù)自己放的目錄來定義温亲,內(nèi)容隨意