gpt4 book ai didi

python - 如何在 Python 中读取连续的 HTTP 流数据?

转载 作者:太空狗 更新时间:2023-10-30 02:35:39 26 4
gpt4 key购买 nike

如何在 python 中从 HTTP 流媒体服务器读取二进制流。我进行了搜索,有人说 urllib2 可以完成这项工作,但遇到了阻塞问题。有人建议使用 Twisted 框架。

我的问题是:

  1. 如果只是一个流式客户端在后台读取数据,是否可以忽略urllib2带来的阻塞问题?

  2. 如果 urllib2 没有 catch 流媒体服务器会发生什么?数据会丢失吗?

  3. 如果 streamer 服务器在检索数据之前需要通过 GET 或 POST 一些参数到服务器进行用户身份验证,这可以通过 urllib2 完成吗?

  4. 在哪里可以找到一些 urllib2 和 Twisted 的流客户端示例?

谢谢。

jack

最佳答案

要打败 urllib2 的内在缓冲,您可以这样做:

import socket
socket._fileobject.default_bufsize = 0

因为它实际上是 socket._fileobject 在下面缓冲。无论如何都不会丢失数据,但是使用默认缓冲(一次 8192 字节)数据可能最终会过度分块以用于实时流式传输(完全删除缓冲可能会损害性能,但您可以尝试更小的 block )。

对于 Twisted,请参阅 twisted.web2.stream以及其中的许多链接。

关于python - 如何在 Python 中读取连续的 HTTP 流数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1598331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com