首页 > python中用requests模块保持登录状态出现问题

python中用requests模块保持登录状态出现问题

问题:

  1. 可以正常登录,返回的r.html也正常。但是用s访问本站的其他页面时,cookie似乎失效了,百思不得其解。请帮忙修正一下!

  2. 下载电子书的时候也要进行登录验证。而下载一般使用urllib.urlretrieve(),怎样跟cookie绑定?

  3. 请问它的formhash怎么生成的,可不可以自动计算或获取?

这里注册了一个临时的账号,方便大家直接测试。formhash是通过chrome的开发工具集看到的。

代码如下:

https://gist.github.com/zippera/6259794.js


自问自答吧。这个问题提问之后没过多久找到了解决的办法,忘了在这里关闭。感谢以上回答者的热心帮助~

  1. 访问其他网站cookie失效,是因为我忘了在访问其他网页的时候绑定headers了(伪装成浏览器)。

  2. 我用 with open...write解决的。注意指定正确的模式。

  3. formhash可以先get一遍那个url,用正则表达式或者beautifulsoup4抓取过来,再添加到post数据即可。

这里是正确的代码:

https://gist.github.com/zippera/6260748


既然用了requests,那你还用urllib.urlretrieve干嘛。直接用Requests不就解决了么,或者你用cookiejar来封装一次,略有些蛋疼


参考我之前的类似问题 python requests库登录网站脚本 登录失败

【热门文章】
【热门文章】