【发布时间】:2021-12-23 15:08:36
【问题描述】:
我正在使用 Python 3.7.3,我正在尝试获取 gif:
import requests
requests.get("https://track.hubspot.com", allow_redirects=True)
这段代码挂起,显然是无限期的。
import requests
requests.get("https://track.hubspot.com", allow_redirects=True, timeout=0.1)
此代码在读取时引发错误:ReadTimeout: HTTPSConnectionPool(host='track.hubspot.com', port=443): Read timed out. (read timeout=0.1)
如果我在浏览器中访问它,我成功地在目标上加载了 1x1 gif。 urllib3 和 wget(命令行工具,不是 Python 库)也挂起。有没有办法使用 Python 获取地址而不会出现任意超时和错误?
【问题讨论】:
-
使用 timeout=10 或其他方法有帮助吗?
-
是的,超时导致它引发错误,但连接另一端(在 hubspot.com 端)的操作确实发生了。如果超时太短,我会得到一个 ConnectTimeout 并且另一端的操作不会发生。我不确定我可以安全地超时多短。 10 对生产来说肯定太长了。
-
代码对我有用。
-
嗯,谢谢@tdelaney!我尝试了一个新的 python 实例,但它仍然对我不起作用......
-
也许它确实有速率限制,你必须等待。
标签: python python-requests http-get