2014-01-19 79 views
0

我想使用Python訪問本網站的信息。但我無法弄清楚如何使用的urllib2Python的帖子用戶名和密碼

https://www.linksyssmartwifi.com/

任何人都可以解釋爲什麼它不工作後我的登錄信息?

編輯 - 此問題已列爲過寬。我會更具體。

當我嘗試使用下面的代碼時,我似乎無法'將'用戶名和密碼'發佈'到網頁。

import urllib2 
auth_handler = urllib2.HTTPBasicAuthHandler() 
auth_handler.add_password(realm=' ??? ', 
         uri=' ??? ', 
         user='USERNAME', 
         passwd='PASSWORD') 
opener = urllib2.build_opener(auth_handler) 
urllib2.install_opener(opener) 
urllib2.urlopen('EXAMPLELINK') 

我假設這是因爲網址中沒有包含數據的字符串和/或此頁面上沒有允許發佈的API。我不明白爲什麼它不工作,我實際上沒有任何錯誤代碼。如果我打印urlopen後收到的內容,我會得到頁面的html代碼,但不會登錄。

但我在這裏的理解可能不正確。

我其實想知道有多少人使用遠程連接登錄到家庭網絡的信息。我認爲這是唯一的方法。我想根據誰登錄到本地網絡來自動化一些內容,登錄後可在此頁面上找到相關信息。

我希望使用Python或Bash腳本來執行此操作。

+1

你能告訴我們你的代碼和你得到的錯誤嗎? –

+3

我還建議調查Python [請求](https://pypi.python.org/pypi/requests)庫,它比'urllib2'更容易使用。 – larsks

回答

1

本網站不使用基本的HTTP身份驗證,因此您所做的HTTPBasicAuthHandler甚至不會被調用。該網站只是使用SSLv3發佈用戶名和密碼。我檢查了它與fiddler

此外,您可能需要創建一個SSL處理程序。我在使用https時遇到了urllib問題,不得不使用下面的處理程序。

import urllib2, ssl 
sslv3_handler = urllib2.HTTPSHandler(context=ssl.SSLContext(ssl.PROTOCOL_SSLv3)) 
opener = urllib2.build_opener(sslv3_handler)