• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Web-Interface Login - mit wget automatisieren

kedmanee

Newbie
Ich habe einen Internetzugang bei einem lokalen Anbieter (lokales WLAN).
Bevor ich einen Internet-Dienst benutzen kann muss ich mich über einen Browser identifizieren.
Ich suche nach einer Möglichkeit die Prozedur über Komandozeile/Script zu vereinfachen.
Schauen wir uns mal die login-Seite mit w3m an:
Code:
[logo-login]

ANMELDEN
 
Bitte geben Sie Ihre Benutzerkennung und Passwort ein:

Benutzerkennung: [____________________]
Passwort:        [____________________]

[Anmelden] [Zuru:cksetzen]

                      [bottom]
Gibt es eine Möglichkeit die Felder (Sprungmarke 1 und 2) automatisch auszufüllen und zu bestätigen (Sprungmarke 3)?
Ist es den generell möglich mir w3m HTML-Formulare auszufüllen oder was benutzt man dazu?[/b]
 
OP
kedmanee

kedmanee

Newbie
Das ist der Quellcode des Formular
Code:
<td colspan="2" bgcolor="#FFFFFF"> <FORM METHOD=POST ACTION="https://provider/authen/login/">
              <INPUT TYPE="hidden" NAME="refreshdir" VALUE="/">
              <TABLE>
                <TR>
                  <TD COLSPAN=2> <TABLE>
                      <TR>
                        <TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Benutzerkennung:</font></TD>
                        <TD><INPUT TYPE="text" NAME="userid"></TD>
                      </TR>
                      <TR>
                        <TD><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Passwort:</font></TD>
                        <TD><INPUT TYPE="password" NAME="password"></TD>
                      </TR>
                    </TABLE></TD>
                </TR>
                <TR>
                  <TD VALIGN=MIDDLE ALIGN=LEFT> <INPUT name="submit" TYPE="submit" VALUE="Anmelden">
                    <INPUT name="reset" TYPE="reset" VALUE="Zurücksetzen">
                  </TD>
                </TR>
              </TABLE>
            </FORM></td>

jetzt moechte ich mit wget meine Daten verschicken. hierzu lege ich eine Datei strings an. Syntax ist Feldname=Value/Wert:
Code:
userid=irgendeinuser@provider.de
password=gEHeiM
submit=Anmelden

der entsprechende wget Befehl:
Code:
wget --post-file=strings -S http://10.0.5.1/authen/start/
(-S = print server response, keine Daten empfangen)

bekomme ich nur diese Rückmeldung
Code:
--10:21:58--  http://10.0.5.1/authen/start/
           => `index.html'
Connecting to 10.0.5.1:80... connected.
HTTP request sent, awaiting response...
 1 HTTP/1.0 403 Access Forbidden
 2 Connection: close
 3 Server: LANCOM 4.04.0012 / 28.01.2005
 4 Content-Type: text/html
10:22:12 ERROR 403: Access Forbidden.

Die URI entspricht aber der, die ich auch im Browser zur Anmeldung benutze.
 
A

Anonymous

Gast
Hi, wenn du das hinkriegst, sach mir bitte Bescheid, ich brauch das auch, hab aber auch keine Ahnung, wie das geht :)
Vielleicht kannst du mal mit ethereal überprüfen, was genau über die Litung geht und das dann mit wget schicken?
Wär jetzt so spontan mal ne Idee von mir :)
Und nochwas: der Link, zu dem du das hinschickst, scheint falsch zu sein.
du schickst das zu ..../start, ganz oben steht im <form action> aber was von ..../login
 
OP
kedmanee

kedmanee

Newbie
na klar ... ich war blind ... jetzt kann ich sehen.
Und ich sehe das der Login funktioniert 8)

Code:
wget  --post-data 'userid=MyName&password=gEHeiM&submit=Anmelden' https://provider/authen/login/
mit der richtigen adresse klappts auch
Also wer's nachmachen will: pickt euch die richtigen Namen und Adresse aus dem HTML-code

weitere optionen kann man mitschicken wenn's so noch nicht klappt
--user-agent=Mozilla
oder damit nichts runtergeladen wird
--spider
'man wget' hilft

noch ein Aspekt - Sicherheit: das Passwort wird im Klartext verschickt. bei mir geht das Paket nur bis zur nächsten Station über verschlüsseltes WLAN. Allgemein interessiert mich wie man's verschlüsselt schickt. Bitte helft mir.
 
A

Anonymous

Gast
Du gibst das Passwort zwar verschlüsselt ein, aber es wird doch verschlüsselt verschickt (httpS), oder doch nicht???
Und selbst wenn nicht, wenn dus mit der Website machst, würde es dann auch nicht verschlüsselt verschickt werden, komisch...
Bei mir geht das übrigens irgendwie nicht, kannst du dir die Seite auch eben anschaun?
www.f1racingworld.com/login.php
wozu brauch ich eigentlich im wget den submit button drin?
 

Y-Berion

Newbie
Du musst Cookies anhaben damit das geht.
Ich denke mal um eine eindeutiege signatur darin einzutragen, meines wissens macht wget aber keine Cookies korigiert mich bitte wenn ich falsch liege.

Gruß
 

Y-Berion

Newbie
Ach jo geht ja doch wget --cookies=on ;)

Insgesamt dan auf die Seite angewandt also so:
wget --cookies=on --post -data
'text=DeinLogin&password=deinpassword&submit=Log in!'
 
A

Anonymous

Gast
GAH hätt ich wissen sollyn, lynx fragt mich doch ständig wegen cookies :idea:
 
A

Anonymous

Gast
Wieso schreibst du text=deinlogin, da steht doch username, oder hab ich mich verlesen?
 
A

Anonymous

Gast
Irgendwie funzt das bei mir net, ich schreib da:
wget --cookies=on --post-data 'username=name&password=passwort&submit=Log In!' http://www.f1racingworld.com/takelogin.php
und bekomme zurück, dass ich eingeloggt sein müsste, um die Seite zu betrachten
 

Y-Berion

Newbie
ferrari2k schrieb:
Irgendwie funzt das bei mir net, ich schreib da:
wget --cookies=on --post-data 'username=name&password=passwort&submit=Log In!' http://www.f1racingworld.com/takelogin.php
und bekomme zurück, dass ich eingeloggt sein müsste, um die Seite zu betrachten

Naja an dieser stelle musst du schon dein Password benutzen sonst bringt das nichts oder wie willst du dich den sonst da einloggen?? Der Quelltext ist dort anders deshalb heist auf der Seite das Schlüsselwort nicht userid sondern text.

Das ist auf jeder Seite anders, schreib das so rein wie ich das da stehn hab dan muss es gehn weil das tastenfeld auf der hp heist nicht userid sonder text!
 
A

Anonymous

Gast
Also ich hab mal mit ethereal die Pakete mitgeschnitten:
Da kommt:
username=nutzername&password=passwort
Also nix mit text!
PS: Danke für die Hilfe, fühl dich bitte nicht angegriffen, bin grad schlecht drauf, sry
 
Oben