Web-Interface per Script steuern?

Moin Experten,

wir haben hier ein System, das sich ausschließlich über ein Web-Interface steuern lässt. Jetzt suchen wir eine Möglichkeit, eine bestimmte Funktion (shutdown) automatisiert steuern zu können. Also im Prinzip: Browser aufrufen, eine vorher aufgezeichnete Folge von Mausklicks und Tastatureingaben abspielen, Browser schließen.

Das ganze sollte unter Windows laufen und über eine Batchdatei aufrufbar sein.

Jemand eine Idee?

Gruß
Stefan

Hallo,

wir haben hier ein System, das sich ausschließlich über ein
Web-Interface steuern lässt. Jetzt suchen wir eine
Möglichkeit, eine bestimmte Funktion (shutdown) automatisiert
steuern zu können.

hinter deiner Beschreibung als „Web-Interface“ kann vieles stecken.

Also im Prinzip: Browser aufrufen, eine vorher aufgezeichnete
Folge von Mausklicks und Tastatureingaben abspielen, Browser
schließen.

Obwohl es mit geeigneten Makrosprachen (etwa AutoHotkey ) natürlich möglich ist, einen Browser zu steuern, um diese Operation genauso durchzuführen, wie es ein Mensch machen würde, ist dies selten sinnvoll (weil zu fehleranfällig).

Oft beschränkt sich die zum Erreichen des Ziels (etwa Shutdown des Servers) tatsächlich notwendige Aktion auf einen einfachen Seitenabruf (ein CGI-Skript o. Ä.) – diese wird lediglich aus Gründen der Benutzerfreundlichkeit oder des Schutzes vor Fehlbedienung hinter allerlei Herumgeklicke versteckt. In Skripten bedient man sich aber, um einzelne Seiten abzurufen, besser einfacher Kommandozeilenbefehle (wget, curl, …) als eines graphischen Monsters von Browser.


PHvL

Hi,

hinter deiner Beschreibung als „Web-Interface“ kann vieles
stecken.

Was ich meine ist dies: http://www.barracudanetworks.com/ns/products/spam_ad…

Obwohl es mit geeigneten Makrosprachen (etwa AutoHotkey
) natürlich möglich ist, einen
Browser zu steuern, um diese Operation genauso durchzuführen,
wie es ein Mensch machen würde, ist dies selten sinnvoll (weil
zu fehleranfällig).

Autohotkey klingt schon mal nicht uninteressant. So richtig wohl ist uns bei der Sache natürlich nicht, aber wir sehen keine andere Möglichkeit.

Oft beschränkt sich die zum Erreichen des Ziels (etwa Shutdown
des Servers) tatsächlich notwendige Aktion auf einen einfachen
Seitenabruf (ein CGI-Skript o. Ä.) – diese wird lediglich aus
Gründen der Benutzerfreundlichkeit oder des Schutzes vor
Fehlbedienung hinter allerlei Herumgeklicke versteckt. In
Skripten bedient man sich aber, um einzelne Seiten abzurufen,
besser einfacher Kommandozeilenbefehle (wget, curl, …) als
eines graphischen Monsters von Browser.

Das OS der Blackbox ist ein gehärtetes Linux an das man nicht ran kommt. Es gibt keine Shell oder sonst eine Möglichkeit, außerhalb des Web-Interfaces irgendwas zu drehen. Das haben wir schon mit dem Hersteller abgeklärt. (Wobei ich vermute, dass der Hersteller schon noch irgendeine Hintertür hat, die er aber dem Kunden natürlich nicht verrät)

Gruß
Stefan

Hallo,

Das OS der Blackbox ist ein gehärtetes Linux an das man nicht
ran kommt. Es gibt keine Shell oder sonst eine Möglichkeit,
außerhalb des Web-Interfaces irgendwas zu drehen.

das meinte ich garnicht. Es kann sein, dass du zwar als normaler Benutzer des Webinterfaces diverse Schaltflächen und Sicherheitsabfragen präsentiert bekommst – die tatsächliche Aktion wird aber etwa durch Aufruf des Skripts http://router/restart.cgi ausgelöst (u. U. mit Übergabe von Parametern und natürlich mit Basic-Auth o. Ä.).


PHvL

Hi,

das meinte ich garnicht. Es kann sein, dass du zwar als
normaler Benutzer des Webinterfaces diverse Schaltflächen und
Sicherheitsabfragen präsentiert bekommst – die tatsächliche
Aktion wird aber etwa durch Aufruf des Skripts
http://router/restart.cgi ausgelöst (u. U. mit Übergabe von
Parametern und natürlich mit Basic-Auth o. Ä.).

Ach so - ja klar, so was in der Art wird dahinterstecken. Aber man kommt nicht ran. Das User-Forum des Herstellers ist voll mit Anfragen dieser Art, ob man über API oder sonstwie die Möhre runterfahren könne. Antwort: nein.

Es bleibt wirklich nur der Weg über die Web-Oberfläche.

Gruß
Stefan

Hallo,

Ach so - ja klar, so was in der Art wird dahinterstecken. Aber
man kommt nicht ran.

der Browser kommt doch dran – das Klicken im Browser führt doch lediglich dazu, dass gewisse Seiten mit gewissen Parametern abgerufen.

Es bleibt wirklich nur der Weg über die Web-Oberfläche.

… das heißt aber nicht, dass du einen Browser benutzen musst. Du musst dir das Webinterface anschauen, um zu sehen, was tatsächlich die gewünschte Aktion auslöst.

Die Darstellung im Browser und das Klicken mit der Maus ist nämlich unerheblich. Der Webserver reagiert nur auf bestimmte Anfragen und diese kannst du normalerweise ohne Browser zuverlässiger automatisiert generieren (wget, curl, …).


PHvL

Hi,

der Browser kommt doch dran – das Klicken im Browser führt
doch lediglich dazu, dass gewisse Seiten mit gewissen
Parametern abgerufen.

Ja und ich bin mir sicher, ein Kenner und Könner könnte bestimmt das passende Modul raussuchen. Ich kann dies nicht. Ein Blick auf den Quelltext genügt mir schon:

System Reload/Shutdown    

Zudem läuft nach einer gewissen Zeit die Session ab. Und die Sessionparameter werden beim Aufruf der CGI irgendwie mitgegeben. Wenn man also die Adresse kopiert und nach mehr als einer Stunde wieder versucht diese aufzurufen, kommt man wieder auf die Login-Seite.

wget und curl werde ich mir mal anschauen, ich denke aber, für diese einmalige Aktion ist der Lern-Aufwand zu groß.

Gruß und Danke
Stefan