转至博客:上海-悠悠
前言
在发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就是上一步的字典格式的参数