如何访问Netgear路由器Web界面

Murrgon

我想做的是访问本地netgear路由器上的流量表数据。登录它并单击链接很容易,但是理想情况下,我想要一个小应用程序,它位于系统托盘(Windows)中,可以在需要查看网络流量时进行检查。

我正在使用python尝试访问路由器的网页,但遇到了一些麻烦。我最初尝试修改一个脚本来重新启动路由器(在此处找到https://github.com/ncw/router-rebooter/blob/master/router_rebooter.py),但是它只是提供了原始的html,我需要在onload javascript函数已运行。在许多有关网页抓取的文章中都描述了这种类型的东西,建议人们使用硒。

我尝试了硒,遇到了两个问题。首先,它实际上会打开浏览器窗口,这不是我想要的。其次,它跳过了我通过HTTP身份验证所输入的内容,反正弹出了登录窗口。这是代码:

from selenium import webdriver

baseAddress = '192.168.1.1'
baseURL = 'http://%(user)s:%(pwd)s@%(host)s/traffic_meter.htm'

username = 'admin'
pwd = 'thisisnotmyrealpassword'

url = baseURL % {
  'user': username,
  'pwd': pwd,
  'host': baseAddress
  }

profile = webdriver.FirefoxProfile()
profile.set_preference('network.http.phishy-userpass-length', 255)
driver = webdriver.Firefox(firefox_profile=profile)
driver.get(url)

因此,我的问题是,在不启动可见的Web浏览器窗口的情况下实现我想要的最佳方法是什么?

更新:好的,我尝试了sircapsalot的建议并将脚本修改为:

from selenium import webdriver
from contextlib import closing

url = 'http://admin:[email protected]/start.htm'

with closing(webdriver.Remote(desired_capabilities = webdriver.DesiredCapabilities.HTMLUNIT)) as driver:
  driver.get(url)
  print(driver.page_source)

这可以修复正在加载的Web浏览器,但是认证失败。有什么建议么?

Murrgon

好的,我找到了解决方案,而且比我想象的要容易得多。我确实尝试了John1024的建议,并且能够使用wget从路由器下载正确的网页。但是我不喜欢wget将结果保存到文件中的事实,然后我必须打开并解析该文件。

最后,我回到了第一次尝试修改失败的原始reboot_router.py脚本。我的问题是我试图使其变得过于复杂。这是我最终使用的最终脚本:

import urllib2

user = 'admin'
pwd = 'notmyrealpassword'
host = '192.168.1.1'
url = 'http://' + host + '/traffic_meter_2nd.htm'

passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, host, user, pwd)
authhandler = urllib2.HTTPBasicAuthHandler(passman)

opener = urllib2.build_opener(authhandler)
response = opener.open(url)
stuff = response.read()
response.close()

print stuff

这将从路由器中打印出整个流量表网页,并加载正确的值。然后,我可以接受它并解析出其中的值。这样做的好处是它没有需要安装的外部依赖项,如硒,wget或其他库。干净是好的。

谢谢大家的建议。没有他们,我不会得到这个答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何编辑路由器Web界面

来自分类Dev

将netgear路由器设置为AP模式无法进入Web界面

来自分类Dev

无法访问wifi路由器的Web界面

来自分类Dev

访问Netgear路由器DG834GU

来自分类Dev

SSH隧道连接到家庭网络,并访问路由器Web界面

来自分类Dev

WRTP54G Linksys路由器Web界面仅可访问几秒钟

来自分类Dev

确实访问Netgear wifi路由器上的管理网页

来自分类Dev

如何从上游路由器的客户端访问下游路由器的Web管理页面?

来自分类Dev

路由器Web服务器WAN访问

来自分类Dev

无需路由器即可访问Web服务器

来自分类Dev

如何与Netgear路由器一起使用无线网桥

来自分类Dev

NETGEAR路由器:DNS服务器无响应

来自分类Dev

Netgear路由器正在侦听端口32764?

来自分类Dev

将Netgear路由器变成有线网桥

来自分类Dev

如何在Netgear N600路由器上重定向/重新路由DNS请求

来自分类Dev

NETGEAR路由器| AP模式| wifi登录与上游路由器不同

来自分类Dev

如何在ui路由器解析中访问服务?

来自分类Dev

如何在JSX中访问路由器参数?

来自分类Dev

如何在路由器外部访问`match.params`?

来自分类Dev

如何从Vue路由器访问Vuex吸气剂

来自分类Dev

如何限制用户访问Internet,但仍连接到路由器?

来自分类Dev

安装Apache后如何访问路由器设置

来自分类Dev

如何通过IPV6访问路由器?

来自分类Dev

如何通过工匠命令访问路由器?

来自分类Dev

如何在ui路由器解析中访问服务?

来自分类Dev

如何访问NAT路由器后面的ServerSocket?

来自分类Dev

如何访问路由器的配置页面?

来自分类Dev

如何禁用我的Verizon对FiOS路由器的访问?

来自分类Dev

如何使用Netgear无线路由器wnr2000v3打开端口80

Related 相关文章

热门标签

归档