gpt4 book ai didi

python - 如何解决 10054 错误

转载 作者:太空狗 更新时间:2023-10-29 21:34:19 25 4
gpt4 key购买 nike

我正在使用某个网站提供的应用程序定期从该网站收集一些数据,比如一次 30 秒。然后将返回的响应记录在数据库中。

我通过导入请求使用请求模块并编写代码来捕获异常。main函数的代码如下:

def get_response(self):
try:
response = requests.get(self.request_url)
if response.status_code == 200:
return response.json()
except Exception as e:
msg = "Exception is:\n %s \n" % e
print msg

上述功能在最初的几个小时内运行良好。该函数还可以从一些异常中恢复,例如:('连接中止。', BadStatusLine("''",))
或者 ('连接中止。', error(10053, ''))它忽略异常(通过在数据库中记录一个Null)并继续获取下一个周期的响应。

但是,该函数在遇到 10054 错误时停止工作。

Exception is:
('Connection aborted.', error(10054, ''))

我查了下数据库发现10054错误来的时候response都是Null。我首先猜测网站可能崩溃了,因此没有收到任何回复。但是当我手动重启该功能时,它又开始获得响应。所以这与网站故障无关。

我在 stackoverflow 中搜索并找到:Errno 10054 现有连接被远程主机强行关闭。但我不知道如何解决。

你能提供一些解决这个问题的方法吗?(理想情况下)或提供一些无需手动重启即可重启功能的解决方案?(看起来一旦我重新启动该功能,它就会再次运行。)

提前致谢。

最佳答案

网络服务器主动拒绝了您的连接。这通常是因为它拥塞、有速率限制或认为您正在发起拒绝服务攻击。如果你从服务器上得到这个,你应该在重试之前睡一会儿。事实上,如果你在重试之前不休眠,你就是拒绝服务攻击。礼貌的做法是实现渐进式 sleep ,例如 (1,2,4,8,16,32) 秒。

关于python - 如何解决 10054 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27333671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com