用于读取服务器发送的事件流的python客户端库。

sseclient的Python项目详细描述


这是一个python客户端库,用于在http服务器发送的事件(sse)上迭代。 流(也称为eventsource,在javascript接口名称之后 在浏览器中)。sseclient类在init上接受一个url,然后是 对来自服务器的消息进行迭代器。

安装

使用pip:

pip install sseclient

用法

from sseclient import SSEClient

messages = SSEClient('http://mysite.com/sse_stream/')
for msg in messages:
    do_something_useful(msg)

每个消息对象都有一个“data”属性,以及可选的“event”, “id”和“retry”属性。

可选初始参数:

  • last_id:如果提供,则此参数将发送到服务器以通知 只返回比此ID更新的邮件。
  • 重试:断开连接后要等待的毫秒数,然后再尝试 重新连接。服务器可以通过在 信息。重试由sseclient对象自动处理。

您还可以提供 Requests库,例如“headers”dict和(用户名、密码)元组 对于“auth”。

开发

在可编辑模式下安装库:

pip install -e .

安装测试依赖项:

pip install pytest backports.unittest_mock

使用py运行测试。test:

(sseclient)vagrant sseclient $ py.test
===================== test session starts ======================
platform linux2 -- Python 2.7.6 -- py-1.4.30 -- pytest-2.7.2
rootdir: /vagrant/code/sseclient, inifile:
plugins: backports.unittest-mock
collected 11 items

test_sseclient.py ...........

================== 11 passed in 0.19 seconds ===================

代码中有两个todo项用于获取实现 完全符合SSE规范中的细节。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java中ArrayList的超简单问题   Java 8在一段时间后过期   java如何创建具有用户定义维度的矩阵,并使用从上到下、从左到右的递增值填充它?   java从JDBC重启mysql   带有sqlite的java LiveData未更新UI   带有JDialog的java小程序在Mac OSX中未正确隐藏   java ActionListener无法从公共类引用数组?   java Apache Digester:NoSuchMethodException:没有这样的可访问方法   安卓中数据库中的java数据没有以正确的格式检索   java快速排序实现:使用random pivot时几乎排序   安卓 Java:高效的ArrayList过滤?   java如何在单独的文件中制作GUI程序   jasper报告如何从JSP或Java代码在JasperReport中传递参数值?