Python异常:ConnectionError 10054远程主机强制关闭现有连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python异常:ConnectionError 10054远程主机强制关闭现有连接相关的知识,希望对你有一定的参考价值。

我还没有足够的声誉来评论另一篇文章,所以我会在这里问一下。在执行'requests.get'时,我得到了“ConnectionError 10054现有连接被远程主机强行关闭”。现在,我在另一篇文章中阅读了这段代码,但不确定它是否完整;你可以编辑它,以便它在错误出现时不断重试我的'requests.get'然后在我的'requests.get'成功时退出当然。谢谢

import socket

retry_count = 5  # this is configured somewhere

for retries in range(retry_count):
    try:
        data1 = requests.get(url)
        return True
    except (error_reply, error_perm, error_temp):
        return False
    except socket.gaierror, e:
        if e.errno != 10054:
            return False
        reconnect()
return False

得到错误;返回True ^ SyntaxError:'return'外部函数

答案

您遇到错误的原因很简单。你还没有发挥作用,所以你不能打电话回来。解决这个问题最简单的方法是使用break,它允许你跳出循环。这是在代码中使用break的示例。

import socket
import requests
retry_count = 5
for retries in range(retry_count):
    try:
        data1 = requests.get(url)
        #Jumps Out Of Loop
        break
    except (socket.gaierror, requests.ConnectionError) as e:
        if e.errno != 10054:
            continue
        reconnect()
#Does Something If Loop Never Breaks
else:
  print("Couldn't Connect")

以上是关于Python异常:ConnectionError 10054远程主机强制关闭现有连接的主要内容,如果未能解决你的问题,请参考以下文章

ConnectionError:如何处理这个错误?

Python:requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))

Apple 通知失败:ID=2,代码=ConnectionError

python requests.exceptions.ConnectionError

除了 ConnectionError 或 TimeoutError 不起作用

如何处理“Redis.exceptions.ConnectionError:连接有数据”