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的活动页面为例(见下图),

使用data----guggle原创.png

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的活动页面为例(见下图)
使用json-----guggle原创.png

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}

你可能感兴趣的:(Python 使用requests发post请求时是用data?还是json?)