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==自定义,具体根据本身放的目录来定义,内容随意