2014-01-19 49 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)