0

尝试使用 mechanize 从 https asp 网站上抓取一些内容,看起来好像登录页面提交工作正常,因为我返回了 200。但是当我尝试打开一个大概使用登录后捕获的 cookie 的 url 时,我得到了重新回到登录页面,错误提示我的会话已过期。最后一次打印只是为了让我可以看到我被重定向了。

import mechanize 

USER_AGENT = "Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv:1.8.1.9) Gecko/20071102 Pardus/2007 Firefox/2.0.0.9"

mech = mechanize.Browser()
mech.addheaders = [("User-agent", USER_AGENT)]

mech.open("https://www.example.com/login.asp")

mech.select_form("loginform")
mech['id'] = "blah"
mech['pin'] = "blah"
response = mech.submit()

trueContent = mech.open("https://www.example.com/content")

print trueContent.geturl()
4

1 回答 1

1

您的代码对我来说看起来不错,但是我没有看到任何登录成功的检查

response = mech.submit()

查看响应内容以确保您的登录成功。

你确定这个网站在没有 javascript 的情况下工作吗?可能存在由 javascript 设置的隐藏字段。

于 2011-10-14T09:47:29.107 回答