最近在使用request.post()方法进行参数请求时,由于post中的参数没有弄清楚,导致请求一直失败报错,发现是我参数类型问题,应该是使用json进行传参,而非data。
接口需求是请求格式为application/json。之前测试的接口用的是application/x-www-form-urlencoded格式,使用data传字典,得到响应结果,但是现在是使用json格式进行传参,再使用data传参的话就会报错。
知道了问题所在,那要怎么进行处理呢,对于情请求数据是json格式的,这里有2中方法进行解决。
第一种就是将json数据类型转换,python中并没有json类型这一说法,使用json.dumps(dict)将dict转换成json格式,得到字符串对象然后使用data参数进行传参即可。
import json
data = {'gridName':'订单表'}
requests.post(url,data= json.dumps(data),headers = headers)
第二种方法就是不使用data进行传参,而是使用json参数传字典进行报文提交,这样是最方便快捷的方式。
import json
data = {'gridName':'订单表'}
requests.post(url,json= data),headers = headers)