我正在尝试实现一种方法,该方法尝试进行一些尝试以从url下载图像。为此,我正在使用请求库。我的代码示例是:

while attempts < nmr_attempts:
        try:
            attempts += 1
            response = requests.get(self.basis_url, params=query_params, timeout=response_timeout)
        except Exception as e:
            pass


每次尝试最多只能花费“ response_timeout”。但是,似乎timeout变量没有执行任何操作,因为它不尊重自己给出的时间。

如何在response.get()调用中限制最大阻塞时间。
提前致谢

最佳答案

您可以尝试执行以下操作(摆脱try-except块),看看是否有帮助?除了Exception可能抑制了request.get引发的异常。

while attempts < nmr_attempts:
    response = requests.get(self.basis_url, params=query_params, timeout=response_timeout)


或者使用原始代码,您可以捕获request.exceptions.ReadTimeout异常。如:

while attempts < nmr_attempts:
    try:
        attempts += 1
        response = requests.get(self.basis_url, params=query_params, timeout=response_timeout)
    except requests.exceptions.ReadTimeout as e:
        do_something()

关于python - 强制最大时间从URL下载图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60042697/

10-09 02:45