python urllib2表单发送困难:网站说虽然我应该没有启用cookie

时间:2011-06-15 02:17:29

标签: python cookies urllib2 urllib

所以,我正在尝试提交一个带有urllib / urllib2的表单,它应该设置一些cookie来登录我。但是,虽然我告诉urllib处理cookies,但网站似乎确信“cookie未启用”

这就是我的代码:

opener = urllib2.build_opener( urllib2.HTTPCookieProcessor() )
urllib2.install_opener( opener )
params = urllib.urlencode( { 'username': 'user', 'password': 'pass' } )

f = opener.open( 'http://example.com/login/',  params )
data = f.read()
print data # Returns a webpage which shows "You need to enable cookies!"
f.close()

我错过了什么?我知道我之前使用过类似的食谱登录。

编辑:在我自己填写表单时检查发送的标题时,我想我可能遇到了同样的问题(但没有回答)here(表单以302重定向响应)。嗡嗡声。

1 个答案:

答案 0 :(得分:0)

import urllib2,urllib,cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener( opener )
params = urllib.urlencode( { 'username': 'user', 'password': 'pass' } )

f = opener.open( 'http://example.com/login/',  params )
data = f.read()
print data 
f.close()

试试这个。