Python Python3 访问 TP-Link 型号TL-WR841N 时,关闭无线功能重启路由器时报错 ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接

猫大白 · 2019年04月08日 · 最后由 猫大白 回复于 2019年04月09日 · 2093 次阅读
try:
    print('\n\n下发请求,重启路由器:')
    reboot_response = urllib.request.urlopen(reboot_req)
except ConnectionAbortedError as e:
    print("出现异常了")
    print(traceback.print_exc())
else:
    reboot_page = reboot_response.read()

控制台输出如下:

下发请求重启路由器
Traceback (most recent call last):
  File "D:/AutoTest/Router.py", line 72, in <module>
    reboot_page = reboot_response.read()
  File "D:\Python37\lib\http\client.py", line 457, in read
    s = self.fp.read()
  File "D:\Python37\lib\socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接

没有执行 except 中的代码???

共收到 2 条回复 时间 点赞

reboot_page 这个变量很危险,在平时编程的时候谨慎这么写,很容易因为没有赋值再引发异常。
没有执行 except 部分说明 try 语句正常执行了或者语句不会引发异常。
从出错看,想让 except 执行 reboot_page = reboot_response.read() 这句得放到 try 里。

mrleopard 回复

有点粗心了,看成是 reboot_response 出的异常,谢谢同学🌹 ,单独重启的时候倒是没有出异常,连续几个请求下来就会出现这个异常

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册