Dee*_*fox 7 python connection response
我正在使用某个网站提供的应用程序定期从网站上收集一些数据,比如每次30秒.然后将返回的响应记录在数据库中.
我通过导入请求和写代码来使用模块化来捕获异常.主要功能的代码如下:
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
Run Code Online (Sandbox Code Playgroud)
上面的功能在前几个小时内运行良好.该函数还可以从以下一些例外中恢复:('连接中止.',BadStatusLine("''",))
或('连接中止.',错误(10053,''))它省略了异常(通过记录在数据库中为空并且继续获得下一期的响应.
但是,在绑定10054错误时,该功能停止工作.
Exception is:
('Connection aborted.', error(10054, ''))
Run Code Online (Sandbox Code Playgroud)
我检查数据库,发现在10054错误发生之后所有响应都是空的.我首先猜测网站可能会崩溃,因此没有收到回复.但是当我手动重启该功能时,它会再次开始响应.所以这与网站的细分无关.
我在stackoverflow中搜索并找到:Errno 10054远程主机强行关闭现有连接.但我不知道如何解决它.
你能否解决这个问题?(理想情况下)或提供一些解决方案来重启功能而无需手动重启?(看起来我重新启动功能后再次运行.)
提前致谢.
tde*_*ney 10
Web服务器主动拒绝您的连接.这通常是因为它拥挤,速率限制或认为您正在发起拒绝服务攻击.如果你从服务器得到这个,你应该再睡一会儿再试一次.事实上,如果您在重试之前没有睡觉,那么您就是拒绝服务攻击.礼貌的事情是实施渐进式睡眠,比如(1,2,4,8,16,32)秒.