2013-01-03 44 views
0

我的問題我很短暫,很甜,我正在使用機械化模塊登錄到一個網站,但如何找出用戶已成功登錄或不。例如。Python:機械化

br = open("http://xyz.com/signin") 
br['login'] = xxxx 
br['password'] = xxx 
result = br.submit().read() 
f = open('s.html', 'w') 
f.write(result) 
f.close 

現在如果登錄信息是真實的s.html將包含在下一個重定向頁面,如果信息是虛假的,將包含錯誤頁面。現在如何找出用戶名和密碼是真實的用戶......在此先感謝

+0

你爲什麼要將響應保存在文件中?您可以在讀取狀態碼 –

+0

後才能測試響應變量,可以更深入地解釋,因爲我第一次嘗試它 –

+0

您似乎正在打開該文件,您應該使用br.open,如下所述: http://wwwsearch.sourceforge.net/mechanize/ –

回答

0

你必須看看你服務的頁面內容。

如果有串

登錄失敗

或者相似的,那麼你知道它失敗了。

+0

但如果我有成千上萬的這樣的登錄做,那麼它會成爲一點點時間浪費的方法....還爲什麼我不能登錄到Facebook,當我寫br = open(「http://www.facebook.com/」)時,它給出了一些錯誤 –

+0

你別無選擇,只能檢查返回的頁面,看看登錄是否有效。你還覺得你能做到嗎? –

+0

您是否嘗試過Facebook的完全限定名? –

0

通常重定向到一個不同的頁面,如果登錄成功,否則它保持在同一頁上,並顯示一條錯誤消息

你可以使用類似這樣

if br.geturl()==("https://address of the page after login"): 
     print "SUCCESS" 
-1

你可以使用br.geturl()和檢查如果它是您登錄時的URL。假設它是xyz.com/welcome

+0

修復這個問題,但這不能解決問題。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/16809908) – Lag