1

我在网络上有几台设备。我正在尝试使用库来使用 Python 脚本发现这些设备的存在和实体,这些设备都有一个 Web 服务。我的问题是,是否有任何模块可以帮助我解决这个问题,因为我发现的唯一模块是 Python 的 ws-discovery?

如果这是唯一的模块,是否有人有任何使用 ws-discovery 的示例 Python 脚本?

谢谢你的帮助。

4

2 回答 2

1

不幸的是,我自己从未使用过 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()
于 2010-03-21T13:33:29.123 回答
1

您是否与 ws-discovery 绑定?如果没有,您可能需要考虑 Bonjour 协议,即 ZeroConf 和 DNS-SD。该协议实施相对广泛。我从来没有使用 python 来做广告或发现,但是有一个实现 API 的项目:http ://code.google.com/p/pybonjour/

正如我所说,我对这个项目没有直接经验,只是指出它是 ws-discovery 的替代方案。

于 2010-03-25T07:06:22.200 回答