urllib2数据发送

时间:2008-11-26 17:56:10

标签: python urllib2

我最近在SO的帮助下写了这篇文章。现在有人可以告诉我如何让它真正登录到董事会。它以非登录格式显示所有内容。

import urllib2, re
import urllib, re
logindata = urllib.urlencode({'username': 'x', 'password': 'y'})
page = urllib2.urlopen("http://www.woarl.com/board/index.php", logindata)
pagesource = page.read()
print pagesource

4 个答案:

答案 0 :(得分:4)

最近有人问the same question you're asking。如果您仔细阅读该问题的答案,您将看到代码示例,向您展示如何使用标准库中的内容在Python脚本中浏览网站时保持登录状态。

接受的答案可能对this other answer没有用处,因为接受的答案涉及涉及重定向的特定问题。但是,无论如何,我建议阅读所有答案。

答案 1 :(得分:3)

您可能希望研究从服务器保留cookie。

PycurlMechanize会让您更轻松

答案 2 :(得分:1)

如果实际查看该页面,您会看到登录链接将您带到http://www.woarl.com/board/ucp.php?mode=login

该页面包含登录表单,并使用POST再次提交到http://www.woarl.com/board/ucp.php?mode=login

然后你必须提取可能设置的cookie,并将它们放在CookieJar或类似的中。

答案 3 :(得分:0)

您可能想要使用这些处理程序创建一个opener并将其应用于urllib2。 如果应用了这些,您的cookie将被处理,如果服务器决定它需要您在其他地方,您将被重定向。

# Create handlers
cookieHandler = urllib2.HTTPCookieProcessor() # Needed for cookie handling
redirectionHandler = urllib2.HTTPRedirectHandler() # needed for redirection (not needed for javascript redirect?)

# Create opener
opener = urllib2.build_opener(cookieHandler,redirectionHandler)

# Install the opener
urllib2.install_opener(opener)