2011-10-11 34 views
0

尝试机械化以从https asp网站上删除某些内容,看起来好像登录页面提交工作正常,因为我返回了200.但是当我尝试打开一个可能使用cookie的url时在登录后被捕获,我被重新定向回到登录页面,并显示我的会话已过期的错误。最后一个打印只是让我可以看到我重定向。Python机械化:会话已过期

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() 

回答

1

你的代码看起来不错,我,但是我没有看到任何的支票,登录成功

response = mech.submit() 

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

您确定此网站使用javascript吗?有可能是由javascript设置的隐藏字段。

+0

问题是一个隐藏字段与JavaScript。 – adam0101

+0

在这种情况下,请尝试Selenium Webdriver,它有一个Python API。 – cerberos