一、问题背景
最近在做一个自动化业务处理的程序时,需要完成对系统的自动登录。经过抓包测试只需要使用简单的post请求后收到的回包中包含cookie信息,因此可以据此完成登录。程序设计思路为发送求到登录验证页面,获取返回包包头中的cookie然后以此cookie再完成其他请求。
然而在开发测试的时候却始终获取不到返回包包头中的cookie信息。header中始终为空。
二、问题原因
查阅requests库的手册后发现,导致这个问题的原因主要是requests包在处理请求时,当遇到302状态时,会自动跳转到location对应的页面。
三、解决方式
按照官方说明,请求响应为302时设置不自动跳转即可
result = r.post(url, headers=headers, data=postdata, allow_redirects=False)
又水一篇🐕