requests.post()方法中的data参数和json参数

        最近在使用request.post()方法进行参数请求时,由于post中的参数没有弄清楚,导致请求一直失败报错,发现是我参数类型问题,应该是使用json进行传参,而非data。

        接口需求是请求格式为application/json。之前测试的接口用的是application/x-www-form-urlencoded格式,使用data传字典,得到响应结果,但是现在是使用json格式进行传参,再使用data传参的话就会报错。

requests.post()方法中的data参数和json参数_第1张图片

         知道了问题所在,那要怎么进行处理呢,对于情请求数据是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)

你可能感兴趣的:(python,python)