我在网络上有几台设备。我正在尝试使用库来使用 Python 脚本发现这些设备的存在和实体,这些设备都有一个 Web 服务。我的问题是,是否有任何模块可以帮助我解决这个问题,因为我发现的唯一模块是 Python 的 ws-discovery?
如果这是唯一的模块,是否有人有任何使用 ws-discovery 的示例 Python 脚本?
谢谢你的帮助。
我在网络上有几台设备。我正在尝试使用库来使用 Python 脚本发现这些设备的存在和实体,这些设备都有一个 Web 服务。我的问题是,是否有任何模块可以帮助我解决这个问题,因为我发现的唯一模块是 Python 的 ws-discovery?
如果这是唯一的模块,是否有人有任何使用 ws-discovery 的示例 Python 脚本?
谢谢你的帮助。
不幸的是,我自己从未使用过 ws-discovery,但似乎有一个 Python 项目可以实现它: https ://pypi.org/project/WSDiscovery/
从他们的文档中,这里有一个关于如何使用它的简短示例:
wsd = WSDiscovery()
wsd.start()
ttype = QName("abc", "def")
ttype1 = QName("namespace", "myTestService")
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()
for service in ret:
print service.getEPR() + ":" + service.getXAddrs()[0]
wsd.stop()
您是否与 ws-discovery 绑定?如果没有,您可能需要考虑 Bonjour 协议,即 ZeroConf 和 DNS-SD。该协议实施相对广泛。我从来没有使用 python 来做广告或发现,但是有一个实现 API 的项目:http ://code.google.com/p/pybonjour/
正如我所说,我对这个项目没有直接经验,只是指出它是 ws-discovery 的替代方案。