Python 请求超时不适合网站流式传输

标签 python python-3.x python-requests

以下内容适用于 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/

相关文章:

python - 使用 Schedule 在特定时间运行作业

python - 如何使用RSA?

Python - 值错误 : invalid literal for int() with base 10: ''

python 使用正则表达式创建新列

与网站调用相比,Python 请求给出不同的状态代码

python - 物理卸载 Python 3.4 以使 pip3 将 "requests"包安装到 Python 3.5,如何解决随之而来的困惑?

python - 计算两行之间时间差的最佳方法

python - 使用多个代理限制请求

python - 来自外部文本文件 Python 的测验

django - 在 Django 中将 JSON 数据从响应传递到请求