我正在尝试实现一种方法,该方法尝试进行一些尝试以从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/