【发布时间】:2019-04-22 12:01:50
【问题描述】:
我正在使用 Python 2.7,我希望每个请求在几秒钟后超时,但请求几乎立即超时。以下是我的代码。
requestsTimeout = 5
link = 'http://' + IP + '/api/v1.0/system/info'
while (1):
try:
return requests.get(link, timeout = requestsTimeout)
except requests.exceptions.RequestException as e:
log._print0(_printID, 'getting DAQ Info' ,str(e)) # just printing
time.sleep(0.1)
现在,如果我断开 wifi 连接,我应该每 5 秒打印一次超时异常,但打印速度非常快(一秒内多次)。
【问题讨论】:
-
while True超过while (1)。 -
我每天都在 C 和 python 之间切换,处理不同的语法真的很烦人,尤其是当你必须写 'True' 而不是 'true' 时!
-
您遇到的真的是超时异常吗?我假设如果您断开 wifi 连接会发生另一个异常。
-
正如 Reductio 所说,你应该得到一个不同的错误,我认为那将是一个 ConnectionError
-
您可以只使用裸露的
Exception而不是requests.exceptions.RequestException,其中包括所有异常,其中还包括导致问题的requests.exceptions.ConnectionError。
标签: python python-2.7 http python-requests