我一直在使用下面的脚本从我们的路由器抓取PIN。它经常被更改,所以我决定使用一个脚本,这样比从浏览器访问路由器更容易。在
脚本如下:
from requests.auth import HTTPBasicAuth
import requests
import re
while True:
try:
response = requests.get('http://192.168.2.1/settings.html',
auth=HTTPBasicAuth('username', 'password'))
html = response.content
m = re.findall(b'var routerpin\s+=\s+(.*)', html)
break
except:
m = None
print(m)
我遇到的问题是第一次运行脚本时,变量“m”返回一个空列表。这并不是一个例外。我认为通过使用try-except循环并使用None或empty集合作为异常将允许它工作。在
当脚本运行一次时返回m=[] 在此之后,脚本返回正确的数据。我知道这是由于第一次运行没有通过路由器认证,但我不确定如何处理它运行两次并获取数据。在
可能是一个非常简单的答案,但任何帮助都非常感谢。在
尝试使用会话对象来管理经过身份验证的会话:
相关问题 更多 >
编程相关推荐