Обнаружение веб-сервисов с использованием Python - PullRequest
1 голос
/ 17 марта 2010

У меня есть несколько устройств в сети. Я пытаюсь использовать библиотеку, чтобы обнаружить наличие и актуальность этих устройств с помощью скрипта Python, все устройства имеют веб-сервис. У меня вопрос, есть ли какие-нибудь модули, которые помогли бы мне решить эту проблему, так как единственный модуль, который я нашел, это ws-discovery for Python?

А если это единственный модуль, есть ли у кого-нибудь пример скрипта Python с использованием ws-discovery?

Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 25 марта 2010

Вы привязаны к ws-discovery? Если нет, вы можете рассмотреть протокол Bonjour, также известный как ZeroConf и DNS-SD. Протокол относительно широко реализован. Я никогда не использовал python для рекламы или открытий, но есть проект, который реализует API: http://code.google.com/p/pybonjour/

Как я уже сказал, я не имею прямого опыта в этом проекте и просто указываю на него как на альтернативу ws-discovery.

1 голос
/ 21 марта 2010

К сожалению, я никогда не использовал ws-discovery самостоятельно, но, похоже, есть проект Python, который его реализует: http://code.google.com/p/python-ws-discovery/

Из их документации приведен краткий пример того, как его использовать:

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()
...