wget Passwort Authentifizierung über POST möglich?

stäubel

stäubel

Doppel-As
Hallo zusammen

Habe hier eine Box mit welcher ich über einen Browser
diverse Steckdosen ein und ausschalten kann.

Nun wollte ich ein Linux Script schreiben, welches
einfach mit wget die URL aufruft und so die Steckdosen schaltet.

Die Sache hat nur einen grossen Hacken, denn ich muss jedesmal
zuerst ein Passwort eingeben bevor ich über HTTP auf die Box zugreifen kann.

Zuerst versuchte ich es mit dem Passwort Parameter (--password)
von wget. Leider jedoch ohne Erfolg. :headup:

Bald merkte ich, dass die Passwort Übergabe über POST geschieht.
Hier ein Auszug von Wireshark.
Er zeigt ein Login vom Firefox auf die Box:

Code:
Hypertext Transfer Protocol
  POST /tgi/login.tgi HTTP/1.1\r\n
    Host: 192.168.1.101\r\n
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4\r\n
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
    Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n
    Accept-Encoding: gzip,deflate\r\n
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
    Keep-Alive: 300\r\n
    Connection: keep-alive\r\n
    Referer: http://192.168.1.101/\r\n
    Cookie: Taifatech=laRg\r\n
    Content-Type: application/x-www-form-urlencoded\r\n
    Content-Length: 77
    \r\n
Line-based text data: application/x-www-form-urlencoded
  Username=admin&Password=&Challenge=&Response=0aef19cfe46a5c82910d7566c8e30e67

Nun meine Frage, ist es möglich sich mit wget so einzuloggen
und auch die Browser Session zu behalten?

Oder kennt ihr andere Linux Anwendungen mit denen dies möglich wäre?

Ich bin zurzeit sehr ratlos und wäre für Tipps sehr dankbar.

Grüsse Stäubel
 
Nun meine Frage, ist es möglich sich mit wget so einzuloggen und auch die Browser Session zu behalten?

Schau dir mal die wget-Option "--post-data" an. Die Beschreibung der Option und ein passendes Beispiel findest du im Wget Manual unter HTTP Options.

Oder kennt ihr andere Linux Anwendungen mit denen dies möglich wäre?

Eine Alternative wäre das Skript in Perl zu schreiben und das LWP-Modul zu verwenden, um die HTTP-Kommunikation zu implementieren. In der C't gab es vor einiger Zeit einen Artikel wie man mit Perl Webmail abholt. Dies könntest du leicht abwandeln und damit die Steckdosenleiste steuern.

Gruß,
Philip
 
Zuletzt bearbeitet:
Hallo Philip

Schau dir mal die wget-Option "--post-data" an.

Ein RIESIGES Dankeschön!!! Genau das ist es was ich gesucht hatte.
Dank dir habe ich das nun etwa in nur 10min hinbekommen :D
Bin total begeistert wie einfach das war, dank deiner Hilfe!!

Eine Alternative wäre das Skript in Perl zu schreiben und das LWP-Modul zu verwenden, um die HTTP-Kommunikation zu implementieren. In der C't gab es vor einiger Zeit einen Artikel wie man mit Perl Webmail abholt. Dies könntest du leicht abwandeln und damit die Steckdosenleiste steuern.

Das sieht auch sehr interessant aus. Das werde ich bei Gelegenheit auch noch anschauen.

Nochmals vielen Dank und ein schönes Wochenende!!

Viele Grüsse

Stäubel
 

Ähnliche Themen

NagiosGrapher 1.7.1 funktioniert nicht

Squid als RPCoHTTPS Proxy für Outlook Anywhere

Jaunty + Zend + Gdata + xampp

Mondorescue über Cron-Job

VHOST Problem, Debian Lenny

Zurück
Oben