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