当我尝试登录到我的路由器它工作正常,但当密码或用户名是错误的,我得到异常。如何处理这个异常?http登录到路由器使用python和请求模块得到异常
from requests.auth import HTTPBasicAuth
import requests
def hts():
url = 'http://192.168.1.1/'
name = 'username'
passw = 'password'
auth = HTTPBasicAuth(name,passw)
r = requests.get(url, auth=auth)
try:
if r:
print(r.text)
else:
print("not found")
except requests.exceptions.ContentDecodingError as e:
print('wrong password')
hts()
这里是错误
raise ContentDecodingError(e)
requests.exceptions.ContentDecodingError: ('Received response with content-encoding:
gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect
header check',))
+0
顺便说一句,你需要把一些在'如果r:'块。目前'print(r.text)'已经不在了。 –
2014-11-06 17:01:57
+0
那你为什么要在你的'try'语句的'*之外*调用'requests.get()'call? –
2014-11-06 17:14:35
+0
引发异常并不是因为您未能登录,而是因为服务器返回无效响应。标题声称数据被压缩,但解码该内容失败。你可以捕捉到这个例外,但你甚至不想这样做。 –
2014-11-06 17:37:22