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

问题描述 投票:0回答:1

我还没有足够的声誉来评论另一篇文章,所以我会在这里问一下。在执行'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'外部函数

python error-handling connection
1个回答
1
投票

您遇到错误的原因很简单。你还没有发挥作用,所以你不能打电话回来。解决这个问题最简单的方法是使用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")
© www.soinside.com 2019 - 2024. All rights reserved.