跳转到主要内容

Python的WS-Discovery实现

项目描述

Documentation Status

Python的WS-Discovery

这是Python 3的WS-Discovery实现。它允许您发现服务并发布可发现的服务。如果您需要Python 2支持,请使用此包的最新1.x版本。

详细的包文档可在ReadTheDocs找到

基本用法

提供了一个简单的wsdiscover命令行客户端来发现符合WS-Discovery规范的网络设备和系统。运行wsdiscover --help以获取使用说明。

以下是如何在Python代码中使用该包的示例。以下代码首先发布一个服务,然后发现它

    from wsdiscovery.discovery import ThreadedWSDiscovery as WSDiscovery
    from wsdiscovery.publishing import ThreadedWSPublishing as WSPublishing
    from wsdiscovery import QName, Scope

    # Define type, scope & address of service
    ttype1 = QName("http://www.onvif.org/ver10/device/wsdl", "Device")
    scope1 = Scope("onvif://www.onvif.org/Model")
    xAddr1 = "localhost:8080/abc"

    # Publish the service
    wsp = WSPublishing()
    wsp.start()
    wsp.publishService(types=[ttype1], scopes=[scope1], xAddrs=[xAddr1])

    # Discover it (along with any other service out there)
    wsd = WSDiscovery()
    wsd.start()
    services = wsd.searchServices()
    for service in services:
        print(service.getEPR() + ":" + service.getXAddrs()[0])
    wsd.stop()

开发状态

这不是一个完整的、正确的WS-Discovery实现。它不会验证从网络接收到的数据。它可能会崩溃,可能包含安全漏洞。没有任何保证 - 请仔细测试以适应您的用例。

作者和维护者

原始版本由L.A. Fernando创建。

代码随后被Andrei Kopats分叉并维护。

Python2支持修复由Michael Leinartas完成。

Python3移植由Pieter Jordaan完成。

打包、主要重构和命令行客户端以及reStructuredText包文档由Petri Savolainen完成。

变更日志

2.0.0 (2020-04-16)

  • 解耦了线程化网络和ws-discovery实现
  • 重构了应用级别的发现和发布代码为它们自己的模块
  • 重构了消息构建、序列化和反序列化
  • 添加了新的wspublish命令行客户端用于发布服务
  • wsdiscover命令行客户端添加了单播发现支持
  • 将所有命名空间收集到一个模块中
  • 改进了README示例
  • 使用Sphinx的reStructuredText良好的文档
  • 移除了Python 2支持代码

1.1.2 (2019-01-01)

  • 重构和Python2修复
  • 引入自动化的Travis测试

1.1.1 (2018-12-21)

  • 修复打包问题

1.1.0 (2018-12-21)

  • 添加了一个简单的命令行客户端(petri)
  • 调试支持,包括消息捕获(petri)
  • 修复了重构造成的破坏(petri)
  • 简单的测试(petri)

1.0.0 (2018-12-18)

  • 改进了打包(petri)
  • 模块化与重构(petri)
  • 更好的Python2支持(mleinart)

0.2 (2017-05-19)

  • 首次发布 @pypi(petri)

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

WSDiscovery-2.0.0.tar.gz (23.5 kB 查看哈希值)

上传时间:

构建分布

WSDiscovery-2.0.0-py3-none-any.whl (31.3 kB 查看哈希值)

上传时间: Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面