Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python HTTP Get请求(非授权)_Python_Http_Get - Fatal编程技术网

Python HTTP Get请求(非授权)

Python HTTP Get请求(非授权),python,http,get,Python,Http,Get,我正在使用以下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", he

我正在使用以下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()
大多数情况下,一切正常,但有时碰巧收到401-未经授权的http错误。 当我在此错误后立即重试执行时,一切正常。现在,为了克服这个问题,我在做某事之前添加了以下代码…:


换句话说,如果发生401,我将重复连接协商。在我看来,这样做并不优雅。有人能给我一个更容易接受的解决方案吗?

大部分看起来像是路由器的故障。你可以把它变成一个函数,如果需要的话可以调用这个函数。你是说如果rep==401:?还是我遗漏了什么?@AntoinePelisse我认为这是最好的,从那以后你可以反复调用它。好的,让我来修正resp==404到resp==401@antoine-pelisse@jakekimds如果我的调制解调器出了问题,我很高兴接受这个丑陋的解决方案。也许我会加上一段时间,在给定的时间间隔内重试几次。问题是:我确定调制解调器有问题吗?也许我会尝试其他一些带有基本身份验证的网页来测试代码。
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()