面向python的ws-discovery实现
WSDiscover的Python项目详细描述
python中的ws-discovery
这是python 2&3的ws-discovery实现。它可以让两个人都发现 服务和发布可发现的服务。
作者和维护
原版由L.A.费尔南多创作。然后代码被分叉和维护 安德烈·科帕茨。皮耶特·乔丹完成的Python3号港口。包装,主要 用petri-savolainen重构命令行客户机。python2支持由michael leinartas修复。
用法
提供了一个简单的discover
命令行客户机,用于发现与ws-discovery兼容的设备和系统。运行discover --help
获取用法说明。
下面是一个如何在python代码中使用包的示例。以下代码首先发布服务,然后发现它:
fromwsdiscoveryimportWSDiscovery,QName,Scopewsd=WSDiscovery()wsd.start()ttype=QName("abc","def")ttype1=QName("namespace","myTestService")# Note: some devices scope services using onvif:// scheme, not http://scope1=Scope("http://myscope")ttype2=QName("namespace","myOtherTestService_type1")scope2=Scope("http://other_scope")xAddr="localhost:8080/abc"wsd.publishService(types=[ttype],scopes=[scope2],xAddrs=[xAddr])#ret = wsd.searchServices(scopes=[scope1], timeout=10)ret=wsd.searchServices()forserviceinret:print(service.getEPR()+":"+service.getXAddrs()[0])wsd.stop()
开发状态
这不是100%完成和正确的ws-discovery实现。不是的 验证从网络接收的数据。它可能崩溃,并可能包含安全性 洞。没有保证-为您的用例仔细测试它。
更改日志
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)