我正在使用以下python脚本连接adsl调制解调器并检索wifi信息
host = 192.168.1.1
pwd = **********
conn = httplib.HTTPConnection(host)
auth = b64encode("admin:"+pwd).decode("ascii")
head = { 'Authorization' : 'Basic %s' % auth }
conn.request("GET", "/basic/home_wlan.htm", headers = head)
resp = conn.getresponse()
#Do something ....
conn.close()
大多数情况下,evereything都可以,但有时会发生接收401 - Unauthorized
http错误。
当我在此错误后重试执行immidiatly时,一切正常。现在,为了解决这个问题,我在#Do something...
之前添加了以下代码:
if resp.status == 401:
conn = httplib.HTTPConnection(host)
auth = b64encode("admin:"+pwd).decode("ascii")
head = { 'Authorization' : 'Basic %s' % auth }
conn.request("GET", "/basic/home_wlan.htm", headers = head)
resp = conn.getresponse()
换句话说,如果401发生,我正在重复连接协商。在我看来,这样做并不是那么优雅。 有人可以给我一个更可接受的解决方案吗?