Chcę mieć "panel sterowania" na stronie internetowej, a po naciśnięciu przycisku chcę uruchomić polecenie na serwerze (mój komputer). Panel ma uruchamiać różne skrypty Pythona, które napisałem (jeden skrypt dla każdego przycisku) i chcę uruchomić panel na moim Mac, mój iPoda touch i mój Wii. Najlepszym sposobem, w jaki widzę, że jest to strona internetowa, ponieważ wszystkie mają przeglądarki. Czy istnieje javascript lub coś do uruchomienia polecenia na moim komputerze za każdym razem, gdy przycisk zostanie naciśnięty?

Edytuj: Słyszałem, że Ajax może pracować na takie rzeczy oparte na serwerach, ale nie mam pojęcia, jak to zrobić. Czy jest jak blok "systemu" lub coś, czego mogę użyć?

0
tkbx 13 październik 2011, 03:43

3 odpowiedzi

Najlepsza odpowiedź

Oto trzy opcje:

  1. Mieć każdy przycisk przesłać formularz o nazwie skryptu w ukrytym polu. Serwer otrzyma parametry formularza i może następnie odgałęzić się, aby uruchomić odpowiedni skrypt.
  2. Mieć każdy przycisk podłączony do własnego unikalnego adresu URL i użyj JavaScript w przycisku Kliknij, aby po prostu ustawić Window.Lokalizacja na ten nowy adres URL. Twój serwer otrzyma ten adres URL i może zdecydować, który skrypt działa na podstawie adresu URL. Możesz nawet użyć linku na stronie internetowej bez javascript.
  3. Użyj AJAX, aby wydać unikalny adres URL na swój serwer. Jest to zasadniczo taki sam (z punktu widzenia serwera) jako poprzednie dwie opcje. Główną różnicą jest to, że przeglądarka internetowa nie zmienia adres URL, na który wskazuje. Call ajax Wystarczy kierować serwer, aby coś zrobić i zwrócić dane, które strona internetowa hosta może wtedy zrobić, z czym chce.
0
jfriend00 12 październik 2011, 23:49

Po stronie klienta (przeglądarka) możesz to zrobić z najprostszym podejściem. Tylko formularz HTML. JavaScript uczyniłoby go ładniejsze do walidacji i wykonania połączeń AJAX, aby strona nie musi odświeżyć. Ale twoja główna ostrość obsługuje go na serwerze. Możesz otrzymać żądanie formularza w wybranym języku. Jeśli już uruchomisz python, możesz napisać super szybki skrypt Pythona CGI. Spójrz na moduł CGI dla Pythona. Musisz to umieścić to na serwer Apache na OSX, jeśli to właśnie go gościisz. Niestety, twoje pytanie o dokładnie jak pisać, jest poza zakresem prostej odpowiedzi. Ale Google, jak pisać i forma HTML, lub spojrzeć, może jQuery zbudować szybki formularz, który może łatwo zrobić połączenia AJAX. Następnie wyszukaj sposób korzystania z modułu Python CGI i otrzymywać żądania pocztowe.

0
jdi 12 październik 2011, 23:58

JavaScript jest zasadniczo do wykonywania pracy w przeglądarce (zwykle, aby coś miłego dla użytkownika końcowego, aby spojrzeć). Co chcesz (jak już powiedzieli inni) jest sposobem na podłączenie działania formularza HTML do działania na stronie WebServer "Back End". I to jest dokładnie (jak wskazał Robg), dla czego służy CGI. Alternatywą dla CGI, która jest dość popularna wśród użytkowników Apache, jest mod_penthon - różnica jest zasadniczo, czy operacja "Back End" działa jako samodzielny proces (CGI) lub wewnątrz procesu WebServer (Mod_Python), ale dla większości podstawowych aplikacji serwera Skrypty nie muszą obchodzić. A jeśli jesteś w dzielonym środowisku hostingowym, nie masz wyboru - Zapytaj Sysadmin (lub przeczytaj dokumenty Serwisu Hostingowego), aby dowiedzieć się, jak najlepiej prowadzić skrypty CGI w tym przypadku.

Ostrzeżenia:

  1. Prawdopodobnie będziesz potrzebował dość podwyższonego serwisu administratora WebServer & AMP; wiedza specjalistyczna, aby wszystko skonfigurować sposób, w jaki chcesz. Będziesz przynajmniej musiał być w stanie (zarówno w sensie uprawnień, jak i rozumienia technicznego), aby wyświetlić dzienniki WebServer, edytuj swoje konfigurację WebServer i Bounce (Restart) swojej usługi HTTP.

  2. Cokolwiek "tylne" operacje, które chcesz wykonać, zostanie wykonane z uprawnieniami / uprawnieniami WebServer, który może nie być taki sam jak uprawnienia / uprawnienia konta użytkownika, które zwykle używasz do wykonania tych operacji. Istnieje różne sposoby wokół tego (przy użyciu niestandardowych demonów i / lub operacji sudo), ale naprawdę musisz mieć wyraźne zrozumienie z Sysadmin WebServer (jeśli WebServer jest narażony na duży zły Internet) o tym, jak to będzie działać < EM> Przed Wdrażasz coś, w przeciwnym razie prowadzisz bardzo realne ryzyko (, zwłaszcza , jeśli jesteś noob), umożliwiając hakerom wykorzystać "bramę poleceń", aby włamać się do WebServer .

Oczywiście, jeśli po prostu robisz to wszystko dla zabawy na swoim osobistym laptopie (po wszystkim jest znacznik OSX w pytaniu), wtedy jesteś Sysadmin WebServer i jesteś wolny Hack Away i szczęśliwie strzelaj do stóp wielokrotnie podczas nauki wszystkiego, co musisz wiedzieć po drodze, co jest w porządku tak długo, jak nie jesteś w sieci. W takim przypadku możesz znaleźć Ten samouczek być przydatny.

0
Peter 13 październik 2011, 01:26