轉(zhuǎn)自:https://www.cnblogs.com/android-it/p/9558751.html
1.我們使用postman進(jìn)行接口測(cè)試的時(shí)候,發(fā)現(xiàn)POST請(qǐng)求方式的編碼有3種,具體的編碼方式如下:
A:application/x-www-form-urlencoded ==最常見(jiàn)的post提交數(shù)據(jù)的方式,以form表單形式提交數(shù)據(jù)
B:application/json? ? ==以json格式提交數(shù)據(jù)
C:multipart/form-data? ==一般使用來(lái)上傳文件(較少用)
2.我們使用python做接口測(cè)試時(shí),經(jīng)常使用的方式為:requests.post(url,data),具體我們使用不同的編碼方式來(lái)做接口測(cè)試:
A:Requests以form表單形式發(fā)送post請(qǐng)求,具體代碼實(shí)現(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:運(yùn)行結(jié)果如下所示:

B:Requests以json形式發(fā)送post請(qǐng)求,具體代碼實(shí)現(xiàn)如下所示:
import?requests,json
url_json?=?'http://httpbin.org/post'
data_json?=?json.dumps({'key1':'value1','key2':'value2'})?#dumps:將python對(duì)象解碼為json數(shù)據(jù)
r_json?=?requests.post(url_json,data_json)
print(r_json)
print(r_json.text)
print(r_json.content)
B1:運(yùn)行結(jié)果如下所示:

C:Requests以multipart形式發(fā)送post請(qǐng)求,具體代碼實(shí)現(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:運(yùn)行結(jié)果如下所示:

注:E://report.txt==自定義,具體根據(jù)自己放的目錄來(lái)定義,內(nèi)容隨意

