1

我正在使用以下代码,使用 python 请求库获得大的 API 响应:

try : 
    r = requests.get("download_link")
    data = r.content
except requests.exceptions.ConnectionError as ex:
    print('Issue file download...'+str(ex))
except Exception as ex:
    print('Issue file download...'+str(ex))

Python 请求版本:2.18.4,

Python版本:3-x

这里的用例是,一旦调用 API,我就会断开互联网,这不会引发任何错误(程序卡在 API 调用处)。调用的 API 需要 30+ 秒才能根据网络速度给出完整的响应,并且在此 API 调用期间互联网断开的可能性很高。

我想在 API 调用期间互联网断开连接时捕获错误。有人可以指导我如何处理它。

4

1 回答 1

1

由于requests >= 2.4.0,您可以在几秒钟内使用 timeout 参数:

try : 
    timeout = 10
    r = requests.get("download_link", timeout=10)
    data = r.content
except requests.exceptions.ConnectionError as ex:
    print('Issue file download...'+str(ex))
except requests.exceptions.ReadTimeout as ex:
    print('Issue file download...'+str(ex))
except Exception as ex:
    print('Issue file download...'+str(ex))
于 2021-05-07T06:05:25.690 回答