2011-10-11 31 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