如何从Python访问受密码保护的路由器页面?

时间:2013-08-29 17:23:19

标签: python passwords authorization

我想要抓取页面192.168.1.1 /basic/home_dhcplist.htm  从路由器,但它在开始时要求用户名和密码。

我通过urllib2

在Python中获取页面
import urllib2
response = urllib2.urlopen('http://192.168.1.1/basic/home_dhcplist.htm')
html = response.read()
str="Prasads"
value= html.find(str)
print value
if value!=-1 :
    print "found"
else:
print "not found"

response.close()

2 个答案:

答案 0 :(得分:2)

我见过的每个家庭路由器都使用基本身份验证进行身份验证。这只是您随请求一起发送的另一个标头。每次请求页面时,用户名和密码都将作为标题发送到服务器,并在每个请求中验证它们。

我建议requestsurllib2

import requests

r = requests.get('http://192.168.1.1/basic/home_dhcplist.htm', auth=('username', 'password'))

if 'Prasads' in r.text():
    print "found"
else:
    print "not found"

答案 1 :(得分:0)

基本上你需要set the cookie来保持会话,最有可能。

通过浏览器访问该页面(Firefox)在提示时输入登录通行证。

Ctrl-Shift-k ,然后重新加载页面并点击任何最新的GET请求,您将看到一个显示GET请求的窗口细节。请注意Request Headers并相应地设置Cookie。

最有用的键值Authorization