python - 使用 Python 读取 HTTP 服务器推送流

标签 python http server-push

我正在尝试为一个以 HTTP 流(也称为 HTTP 服务器推送)形式提供数据的站点编写客户端。但是,urllib2.urlopen() 会获取当前状态的流,然后关闭连接。我尝试跳过 urllib2 并直接使用 httplib,但这似乎具有相同的行为。

该请求是一个包含五个参数的 POST 请求。但是,不需要 cookie 或身份验证。

有没有办法让流保持打开状态,以便在每个程序循环中检查新内容,而不是等待整个内容每隔几秒重新下载一次,从而引入延迟?

最佳答案

你可以试试 requests图书馆。

import requests
r = requests.get('http://httpbin.org/stream/20', stream=True)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        print line

您还可以添加参数:

import requests
settings = { 'interval': '1000', 'count':'50' }
url = 'http://agent.mtconnect.org/sample'

r = requests.get(url, params=settings, stream=True)

for line in r.iter_lines():
    if line:
        print line

关于python - 使用 Python 读取 HTTP 服务器推送流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2716788/

相关文章:

javascript - 使用 Js 将源保存到服务器上渲染的图像

javascript - q-io : how to read response. 使用 Promises 的主体 JSON 对象?

HTTP 缓存测试

java - 使用 channel 将数据传送到 cometd 服务器

python - 在启动 bash 脚本的远程机器上启动 python 脚本

python - 权限被拒绝的 Django 静态文件

python - 烦人的生成器错误

http - Vert.x HTTP Client 创建的连接数多于 MaxPoolSize

asp.net - 将更新推送到 ASP.NET webfarm 的策略?

multithreading - 使用-DELPHI中的Indy组件(idTCPServer/idTCPClient)的单服务器与多客户端实时监视系统