Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Web-Interface Login - mit wget automatisieren

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
kedmanee
Newbie
Newbie
Beiträge: 35
Registriert: 23. Mär 2004, 23:41
Wohnort: Bingen
Kontaktdaten:

Web-Interface Login - mit wget automatisieren

Beitrag von kedmanee »

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: Alles auswählen

[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]
„Linux gibt's auch in Bingen“ www.fossclub.de
Benutzeravatar
kedmanee
Newbie
Newbie
Beiträge: 35
Registriert: 23. Mär 2004, 23:41
Wohnort: Bingen
Kontaktdaten:

Beitrag von kedmanee »

Das ist der Quellcode des Formular

Code: Alles auswählen

<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&uuml;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: Alles auswählen

userid=irgendeinuser@provider.de
password=gEHeiM
submit=Anmelden
der entsprechende wget Befehl:

Code: Alles auswählen

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: Alles auswählen

--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.
„Linux gibt's auch in Bingen“ www.fossclub.de
ferrari2k

Beitrag von ferrari2k »

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
Benutzeravatar
kedmanee
Newbie
Newbie
Beiträge: 35
Registriert: 23. Mär 2004, 23:41
Wohnort: Bingen
Kontaktdaten:

Erfolg !!!

Beitrag von kedmanee »

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

Code: Alles auswählen

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.
„Linux gibt's auch in Bingen“ www.fossclub.de
ferrari2k

Beitrag von ferrari2k »

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?
Benutzeravatar
Y-Berion
Newbie
Newbie
Beiträge: 12
Registriert: 2. Mär 2005, 15:19

Beitrag von Y-Berion »

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ß
Benutzeravatar
Y-Berion
Newbie
Newbie
Beiträge: 12
Registriert: 2. Mär 2005, 15:19

Beitrag von Y-Berion »

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!'
ferrari2k

Beitrag von ferrari2k »

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

Beitrag von ferrari2k »

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

Beitrag von ferrari2k »

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
Benutzeravatar
Y-Berion
Newbie
Newbie
Beiträge: 12
Registriert: 2. Mär 2005, 15:19

Beitrag von Y-Berion »

ferrari2k hat geschrieben: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!
ferrari2k

Beitrag von ferrari2k »

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
Antworten