【问题标题】:How to wait less for connection timeout in Python3 requests?如何在 Python3 请求中减少等待连接超时?
【发布时间】:2018-07-30 22:21:31
【问题描述】:

我有这样的请求错误异常:

try:
    r = requests.get(url, stream=True)
    r.raise_for_status()
except requests.exceptions.HTTPError as err:
    print("HTTP exception error: {}".format(err))
    return
except requests.exceptions.RequestException as e:
    print("Exception error {}".format(e))
    return

要得到这样的错误,我必须等待超过 2 分钟:

异常错误 HTTPConnectionPool(host='192.168.137.67', port=8000): url 超出最大重试次数:/python-3.4.3.msi(由 NewConnectionError(': 建立新连接失败:[Errno 110] 连接超时',))

是否有可能更快地得到超时错误?试一两次,如果有问题再继续?

【问题讨论】:

标签: python exception timeout python-requests


【解决方案1】:

timeout参数:

r = requests.get(url, stream=True, timeout=10)

如果请求占用超过10 seconds,这将引发异常

More informations.

【讨论】:

  • timeout=10 如果连接持续超过 10 秒而没有传输任何数据,则会引发错误。如果连接每 5 秒取得一点进展,则可能仍需要几分钟才能完成请求。请参阅this answer 以获取解释以及如何为整个请求设置超时的一些示例。
猜你喜欢
  • 2011-04-18
  • 1970-01-01
  • 2019-12-25
  • 2012-03-26
  • 2010-11-10
  • 2013-08-25
  • 2017-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多