问题:
可以正常登录,返回的r.html也正常。但是用s访问本站的其他页面时,cookie似乎失效了,百思不得其解。请帮忙修正一下!
下载电子书的时候也要进行登录验证。而下载一般使用urllib.urlretrieve(),怎样跟cookie绑定?
请问它的formhash怎么生成的,可不可以自动计算或获取?
这里注册了一个临时的账号,方便大家直接测试。formhash是通过chrome的开发工具集看到的。
代码如下:
https://gist.github.com/zippera/6259794.js
自问自答吧。这个问题提问之后没过多久找到了解决的办法,忘了在这里关闭。感谢以上回答者的热心帮助~
访问其他网站cookie失效,是因为我忘了在访问其他网页的时候绑定headers了(伪装成浏览器)。
我用 with open...write解决的。注意指定正确的模式。
formhash可以先get一遍那个url,用正则表达式或者beautifulsoup4抓取过来,再添加到post数据即可。
这里是正确的代码:
https://gist.github.com/zippera/6260748
既然用了requests,那你还用urllib.urlretrieve干嘛。直接用Requests不就解决了么,或者你用cookiejar来封装一次,略有些蛋疼
参考我之前的类似问题 python requests库登录网站脚本 登录失败