使用urllib2发布数据,跟随重定向并保持Cookies
我在用Python的urllib2
库向一个网站发送登录信息。
登录成功后,网站会把我的请求转到另一个页面。有人能给我一个简单的代码示例,教我怎么用urllib2
在Python中做到这一点吗?我想我还需要一些cookies,这样在被转到另一个页面时才能保持登录状态,对吧?
非常感谢!
1 个回答
6
首先,你需要下载 mechanize: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
,这样你就可以做你需要做的事情,比如点击链接等等。可以去 mechanize 网站看看示例。