在python中,当我尝试使用请求库或其他需要连接到Internet的库时,响应速度非常慢。
如下所示的简单代码可能需要2到5分钟。
import requests
requests.get('https://www.google.com')
在我的Linux机器上,相同的代码在1秒钟内完成。
如果我使用非python方法来实现相同的目的,即curl
curl 'https://www.google.com'
响应时间不到1秒。
可能是什么原因造成的?我应该在哪里看?一般而言,我对网络或Mac的了解不多,有人可以帮我调试详细说明吗?
答案 0 :(得分:0)
令人惊讶的是,默认情况下requests
使用无限超时。
尝试设置不同的连接和读取超时,看看有什么异常。
r = requests.get('https://github.com', timeout=(10, 30))
您可能希望打印详细的日志以查看发生的情况:
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
请参阅参考资料和上下文: