python接口自动化13-data和json参数傻傻分不清【转载】

时间:2020-12-28 06:02:21

转至博客:上海-悠悠

前言

在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data?

一、识别json参数

1.在前面1.8章节讲过,post请求的body通常有四种类型,最常见的就是json格式的了,这个还是很多识别的

python接口自动化13-data和json参数傻傻分不清【转载】

2.用抓包工具查看,首先点开Raw去查看body部分,如下图这种,参数最外面是大括号{   }包起来的,这种已经确诊为json格式了。

python接口自动化13-data和json参数傻傻分不清【转载】

3.再一次确认,可以点开Json这一项查看,点开之后可以看到这里的几组参数是json解析后的

python接口自动化13-data和json参数傻傻分不清【转载】

4.这时候,就可以用前面2.2讲的传json参数

python接口自动化13-data和json参数傻傻分不清【转载】

二、识别data参数

1.data参数也就是这种格式:key1=value1&key2=value2...这种格式很明显没有大括号

点开Raw查看,跟上面的json区别还是很大的

python接口自动化13-data和json参数傻傻分不清【转载】

2.因为这个是非json的,所以点开Json这个菜单是不会有解析的数据的,这种数据在WebForms里面查看

python接口自动化13-data和json参数傻傻分不清【转载】

3.可以看到这种参数显示在Body部分,左边的Name这项就是key值,右边的Value就是对应的value值,像这种参数转化从python的字典格式就行了

python接口自动化13-data和json参数傻傻分不清【转载】

4.这一种发post时候就传data参数就可以了,格式如下:

s = requests.session()

r = s.post(url, headers=headers, data=d)     # 这里的d就是上一步的字典格式的参数