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

Python 3.x requests.post在python3中挂起并继续重试,python-3.x,post,python-requests,Python 3.x,Post,Python Requests,我正在为一个IoT设备编写一个python脚本,该设备涉及将一些数据发布到API。该设备在本地无线网络上与某个节点通信,并在4G蜂窝网络上运行 现在,如果存在internet连接,设备将按预期工作并发布数据。但是,如果设备未连接到Internet,请求.post呼叫会被阻塞很长时间,而在理想情况下,它应该会引发请求。ConnectionError异常。脚本的以下部分尝试发布数据 try: resp = requests.post(DATA_UPLOAD_API,json=postData,

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

现在,如果存在internet连接,设备将按预期工作并发布数据。但是,如果设备未连接到Internet,请求.post呼叫会被阻塞很长时间,而在理想情况下,它应该会引发请求。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

它是否与本地无线网络有关,即使它不在线,也会不断尝试发布?如果不是这样,那会是什么问题呢?

这是因为代码正在抛出异常,而不仅仅是
连接错误

用这个来捕获异常

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