requests.post挂起并继续在python3中重试

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

[我正在为IoT设备编写python脚本,该脚本涉及将一些数据发布到API。该设备也在本地无线网络上与某些节点通信,并在4G蜂窝网络上运行。

现在,如果存在Internet连接,则设备将按预期工作并发布数据。但是,如果设备未连接到Internet,则在理想情况下,requests.post调用会停滞大量的时间,它应该引发requests.ConnectionError异常。脚本的以下部分尝试发布数据。

try:
   resp = requests.post(DATA_UPLOAD_API,json=postData,timeout=2)
except requests.ConnectionError as err:
   self.logger.info("Failed to post the data with the exception-" + str(err) + "....trying again")
   count=count+1
   pass

它是否与本地无线网络有关,即使它不在线,它仍会继续尝试重新发布?如果不是这样,可能是什么问题?

python-3.x post python-requests
1个回答
0
投票
那是因为代码引发异常,而不仅仅是ConnectionError

改为捕获异常。

except requests.exceptions.ConnectionError: print("No")

© www.soinside.com 2019 - 2024. All rights reserved.