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

Posted jason89

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python接口自动化13-data和json参数傻傻分不清相关的知识,希望对你有一定的参考价值。

前言

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

 

一、识别json参数

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

技术分享图片

 

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

技术分享图片

 

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

技术分享图片

 

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

技术分享图片

 

二、识别data参数

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

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

技术分享图片技术分享图片

 

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

 技术分享图片

 

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

技术分享图片

 

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

s = requests.session()

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

 

以上是关于python接口自动化13-data和json参数傻傻分不清的主要内容,如果未能解决你的问题,请参考以下文章

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

Python接口自动化(二) 发送post请求的接口;python中字典和json的区别

python+requests接口自动化3. 接口<参数>的关联与cookie提取

python+requests接口自动化3. 接口<参数>的关联与cookie提取

python接口自动化之-- json参数替换

python接口自动化测试十一:传参数:data与json