Python: 模拟post请求时的相关问题:cookie,json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python: 模拟post请求时的相关问题:cookie,json相关的知识,希望对你有一定的参考价值。

参考技术A 需求:模拟客户端进行post请求,除业务参数外,还需带有sign参数
在实现该需求时,使用了 requests.request()方法: requests.request('POST',url,data=rdata,cookies=rcookie),随后执行时遇到了以下问题:

原因:缺失了header相关信息
解决方法:在header中添加 User-Agent 和 refer等相关信息

原因:请求的body中,需以 json 形式传参,而初始调用时使用的为data
解决方法:解决方法有俩,
① 因为request() 参数中本来即存在 json,可直接使用json来传参,即:
requests.request('POST',url,json=json.dumps(rdata),cookies=rcookie)
② 也可继续使用 data 参数,此时需指定 content-type:

P.S. 若不指定content-type,data为dict时,默认为application/x-www-form-urlencoded;
data为str时,则默认为application/json。

以上是关于Python: 模拟post请求时的相关问题:cookie,json的主要内容,如果未能解决你的问题,请参考以下文章

python验证码识别

python用socket模拟post请求

使用modelformset_factory保存请求POST时的性能问题

Python学习之旅---post请求方法异常处理cookie模拟登陆

Winform模拟post请求和get请求登录网站

Winform模拟post请求和get请求登录网站