Через Java сделать вызов функций Javascript на сетевом устройстве? - PullRequest
0 голосов
/ 08 января 2010

Я занимаюсь мониторингом устройств в сетевой системе. Мне нужно знать, как выполнять вызовы Javascript на этом устройстве через его IP-адрес, чтобы получить определенную информацию о состоянии (статус этого устройства доступен только через API Javascript, но не через SNMP и т. Д.). Я работаю на Java.

ДОБАВЛЕНО: Конкретным устройством является телевизионная приставка Amino. У него есть то, что он называет JMACX: спецификация API расширений управления доступом к среде JavaScript. Это позволяет вам в документе HTML использовать этот API для получения МНОГО информации об устройстве (использование процессора, информация о канале, опции удаленного управления и т. Д.). Мне нужно получить эту информацию в программе Java для определенных целей мониторинга.

Возможно, возможно с HTTP-запросами?

Любой вклад будет принята с благодарностью.

Спасибо

Steve

Ответы [ 2 ]

1 голос
/ 08 января 2010

Таким образом, это по сути веб-сервер, обслуживающий HTML-страницы? Теоретически вы можете использовать URL#openStream() для получения InputStream любого веб-ресурса.

Но тогда у вас есть серьезная проблема с Javascript. Он работает только на локальной машине . В конечном итоге вы можете извлечь функции JavaScript из HTML-страницы с помощью HTML-анализатора и вызывать их с помощью javax.script API, но они будут выполняться на вашем только машина (по крайней мере, машина, на которой работает ваш код Java), но не на удаленной машине.

0 голосов
/ 08 января 2010

Я использую Rhino в Java, и он работает хорошо. Вы должны иметь возможность загружать Javascript API в контекст, а затем создавать функции для использования / вызова этого API.

http://www.mozilla.org/rhino/

...