使用urllib2发布数据,重定向和维护cookie

时间:2010-07-27 19:03:22

标签: python urllib2

我在 Python 中使用urllib2将登录数据发布到网站。

成功登录后,该网站会将我的请求重定向到另一个页面。有人可以使用urllib2在Python中提供有关如何执行此操作的简单代码示例吗?我想当我被重定向到另一个页面时,我还需要登录。正确?

非常感谢advace。

1 个答案:

答案 0 :(得分:6)

首先,获得机械化:http://wwwsearch.sourceforge.net/mechanize/
你可以用urllib2做这种东西,但是你会编写大量的样板代码,而且它会有错误。

然后:

import mechanize

br = mechanize.Browser()
br.open('http://somesite.com/account/signin/')

br.select_form('loginForm')    
br['username'] = 'jekyll'
br['password'] = 'bananas'
br.submit()
# At this point, you're logged in, redirected, and the 
#  br object has the cookies and all that.

br.geturl() # e.g. http://somesite.com/loggedin/

然后您可以使用浏览器对象br并执行您必须执行的操作,单击链接等。检查机械化站点上的示例