我希望使用Python访问本网站的信息。但我无法弄清楚如何使用urllib2
发布我的登录信息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')
我假设这是因为包含数据的url中没有字符串和/或此页面上没有允许发布的api。我不明白为什么它不工作,我实际上没有任何错误代码。如果我打印了urlopen后收到的内容,我会得到一个页面的html代码,但是没有登录。
但我在这里的理解可能不正确。
我实际上想要找到有关使用远程连接登录家庭网络的人数的信息。我认为这是唯一的方法。我想基于谁登录到我的本地网络来自动化一些东西,我登录后可以在这个页面上获得这些信息。
我最好使用Python或Bash脚本来执行此操作。
答案 0 :(得分: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)