以下内容适用于 99.999% 的网站,但随机发现一个不适用的网站:
import requests
requests.get('http://arboleascity.com',timeout=(5,5),verify=False)
我已提交有关该项目的问题。
https://github.com/requests/requests/issues/4276
有什么建议或想法吗?
我在concurrent.futures.ThreadPoolExecutor中运行它,所以我真的不想添加一些外部的东西,比如eventlet或信号。但对任何有效的事情都持开放态度。
最佳答案
它流式传输 SHOUTcast 流(内容类型:audio/aacp),因此没有超时,它永远不会停止流式传输。
如果您想要主页,而不是流,请将 User-Agent header 设置为类似于浏览器的内容。如果您想要音频流,请使用 stream=True
并迭代内容 - 如果需要,您也可以在此处退出。
如果您正在编写抓取工具,您可能需要在尝试获取分块的响应之前检查 HEAD 请求中的内容类型。
关于Python 请求超时不适合网站流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46061786/