Python 使用requests发post请求时是用data?还是json?

大家平时都用requests模块,刚学得时候,用post请求总不知道传data还是json?

data版post请求:

requests.post(guggle_url, headers=guggle_headers, data=guggle_data)

json版post请求:

requests.post(guggle_url, headers=guggle_headers, json=guggle_data)

特别是在抓取别人的接口时,用对了,有数据,没用对,参数无论多么正确,始终是获取数据失败

其实主要看两点
1.Content-Type
2.传递数据是Form Data还是Request Payload

以海底捞APP的活动页面为例(见下图),

 

 

1.Content-Type为application/x-www-form-urlencoded
2.传递数据用的Form Data

这里需要用data才能获取数据

requests.post(guggle_url, headers=guggle_headers, data=guggle_data)

data请求的实质:(以访问www.baidu.com, 需要传递 {“a”:1,“b”:2})

向www.baidu.com发了POST请求,传递了a=1&b=2

以快手APP的活动页面为例(见下图)

 

 

1.Content-Type为application/json;charset=UTF-8
2.传递数据用的Request Payload

这里需要用json才能获取数据

requests.post(guggle_url, headers=guggle_headers, json=guggle_data)

 

json请求的实质:(以访问www.baidu.com, 需要传递 {“a”:1,“b”:2})

向www.baidu.com发了POST请求,传递了 {“a”:1,“b”:2}

 


————————————————
版权声明:本文为CSDN博主「远古某人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guggle15/article/details/120001143

posted @ 2022-05-17 16:07  韩、饭饭  阅读(272)  评论(0编辑  收藏  举报