Wątek przeniesiony 2022-08-28 12:39 z Java przez Patryk27.

Uruchomienie JavaScript na zdalnym urządzeniu.

0

Chodzi o formatowanie karty SD w chińskiej kamerze zdalnie.
Jestem kompletnie zielony w JS stąd proszę o pomoc Kolegów.
Opcja formatowania SD jest dostępna z menu kamery a ja po prostu chciałbym uruchomić istniejący w FW kamery skrypt.
Źródło strony ściągnięte za pomocą poniższej komendy wget wygląda następująco (fragment):

wget http://<user>:<pass>@<IP_adres>/web/deviceinfo.html#
<a href="#" onClick="do_formatsd()" style="color:#6633FF"><script type="text/javascript">document.write(str_sdfat32);</script></a>

Chciałbym więc zdalnie uruchomić wskazany powyżej skrypt formatujący.
Jak to mogę zrobić z serwera (np w bash). Mam zainstalowane node.

2

JS (a przynajmniej ten rodzaj, który przytoczyłeś w poście) działa w całości po stronie przeglądarki - nie da się odpalić do_formatsd() na kamerze, ponieważ kliknięcie tego przycisku powoduje uruchomienie jakiegoś kodu w przeglądarce, który następnie komunikuje się z kamerą (ale całością niejako koordynuje w dalszym ciągu przeglądarka).

Aby móc osiągnąć to, co próbujesz, musiałbyś rzucić okiem w źródło tej funkcji (tzn. poszukać gdzieś tam w *.html / *.js najprawdopodobniej function do_formatsd()) i zobaczyć, co ona takiego robi, co powoduje sformatowanie.

(w najprostszym przypadku do_formatsd() po prostu odpala jakiś request HTTP, który mógłbyś bez problemu powtórzyć curlem -- ale najpierw trzeba ten request namierzyć.)

0
Patryk27 napisał(a):

(w najprostszym przypadku do_formatsd() po prostu odpala jakiś request HTTP, który mógłbyś bez problemu powtórzyć curlem -- ale najpierw trzeba ten request namierzyć.)

OK. W nocy posiedzę i spróbuję namierzyć

1
Patryk27 napisał(a):

(w najprostszym przypadku do_formatsd() po prostu odpala jakiś request HTTP, który mógłbyś bez problemu powtórzyć curlem -- ale najpierw trzeba ten request namierzyć.)

Ha! Znalazłem cgi.bin. Działa w get w takiej składni:

wget http://<user>:<pass>@<IP_adres>/web/cgi-bin/hi3510/sdfrmt.cgi?

Dzięki @Patryk27

1 użytkowników online, w tym zalogowanych: 0, gości: 1