HTML nach einem Login auslesen und parsen



  • Ich glaube, ich habe was. LibCurl sieht doch gut aus. Kenne sie noch aus Linux Zeiten.


  • Mod

    Hit-Man schrieb:

    Ich glaube, ich habe was. LibCurl sieht doch gut aus. Kenne sie noch aus Linux Zeiten.

    Ja Curl ist auch eine Alternative.



  • Ich teste gerade mit dem Tool, curl rum um zu sehen, welche Optionen ich da alles habe. Die Sache ist nun die, kann mich einfach nicht einloggen auf der Seite, die ich brauche. Ich schicke hier einfach mal den Code, der Seite, die ich meine:
    &
    <!-- loginformular -->

    <table border="0" cellspacing="2">
    <form method="POST" action="/olg/login/index.olg" name="loginfrm" OnSubmit="document.forms['loginfrm'].elements['loginbtn'].disabled=true">

    <tr>

    <td>
    Nickname:
    </td>
    <td>
    <input type="text" name="nickname" size=20 value=""tabindex="1">
    </td>
    <td width="90" rowspan="2" align="center"><input type="hidden" name="partner" value="">
    <input type="hidden" name="login" value="login">

    <input type="submit" name="loginbtn" value="login" class="submit" tabindex="4"></td>
    </tr>
    <tr>
    <td>
    Passwort:
    </td>
    <td>
    <input type="password" name="password" size=20 value="" tabindex="2">
    </td>

    </tr>
    <tr>
    <td>
     
    </td>
    <td>
    <input type="checkbox" value="1" name="quicklogin" tabindex="3"> Quick-Login aktivieren
    </td>
    </tr>

    <tr>
    <td> </td>
    <td> <div align="center"><a href="/olg/lostpw/"><b>Passwort
    vergessen?</b></a> </div></td>
    <td> </td>

    </tr>
    </form>

    </table>

    <!-- /loginformular--> </td>

    ;

    So weit so gut. Hier sehe ich ja eigentlich alle Felder, die ich zum einloggen brauche. Ich versuche mich also so einzuloggen:

    curl -d "nickname=mein_username&password=mein_password&login=login" http://www.onlineglueck.de/olg/index.php
    

    Allerdings komme ich immer und immer wieder auf die LoginSeite. Weiß da jemand nen Rat?


  • Mod

    Und du schickst das als POST ab? Per GET funktionieren die meisten Formulare nämlich nicht.
    Ausserdem kann es noch ein hiddenfield oder so geben, was du mitsenden musst.



  • Ich denke mal, das ich es per POST abschicke. Zumindest stand es so in der Anleitung von curl. In dem HTML Code siehste ja alles, was ich an Daten brauche. Ja, da ist auch ein Hidden Feld. Habs mal mit in die Befehlszeile geschrieben, aber leider immer noch das gleiche 😞


  • Mod

    Hast du mal an einer anderen Seite es versucht?
    Evtl. läuft auch nach dem Login was schief, das du einen Cookie oder so entgegen nehmen musst zum Beispiel.



  • ich hatte mir für den firefox nen zusatztool installiert um sehen zu können, was genau vom server zum client verschickt wird und umgekehrt. dabei habe ich echt nen hidden feld vergessen.
    nun bekomme ich auch nen richtiges coockie nach dem einloggen zurück. ich habe dann versucht mit der b option versucht, auf eine andere seite zu springen. komme aber trotzdem immer wieder auf die login seite 😞

    also login sollte, sollte zu mindest funktionieren. auf einer anderen seite, wie zum beispiel, diesem forum, habe ich es noch nicht aus probiert. wäre aber mal nen test wert.
    hast du es denn schon mal auf meine art versucht, so daten auszulesen, also sich irgendwo einzuloggen?



  • ist doch nicht möglich !!!! Hier im Forum funktioniert der curl Befehl. Komme nach dem Login auf die Main Seite und sehe dann auch, das ich oben rechts, mit Hit-Man angemaldet bin. Hier mal der Befehl dazu:

    curl -L -b coockie.txt -d "username=Hit-Man&password=mein_password&redirect=&login=Login" http://www.c-plusplus.net/forum/login-var-html
    

    warum geht das hier, aber im www.onlineglueck.de nicht 😞

    Allerdings, bekomme ich hier kein cookie, so weit ich das überblicken kann.
    Oder doch?



  • Hast du schon versucht mit Wireshark alle Pakete aufzuzeichnen?
    Das würde ich mal versuchen. Und die Pakete die dein Programm verschickt mit denen vergleichen, die gesendet werden, wenn du ganz normal über den Browser reingehst.

    Ansonsten besteht mit wxWidgets afaik die Möglichkeit einfache Get und Post Anfragen zu senden.



  • Für den Firefox habe ich Live HTTP Headers. Damit kann ich ja schon alles sehen, und es hat ja auch hier geklappt, mich einzuloggen. Das Plugin zeigt mir an, wo was, whin verschickt wird und auch ob ich nen cookie bekomme und so weiter. Genau so, habe ich es auch auf der Chat Seite probiert, aber es will einfach nicht gelingen. Das komische ist, das ich hier im Forum, nicht mal nen cookie bekomme und es trotzdem funktioniert.



  • ich schicke mal mit, was der Live HTTP Header mir anzeigt:

    http://www.onlineglueck.de/olg/login/index.olg
    
    POST /olg/login/index.olg HTTP/1.1
    Host: www.onlineglueck.de
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.onlineglueck.de/olg/
    Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 59
    nickname=Nekronomikon&partner=&login=login&password=mein_passwort
    HTTP/1.x 302 Found
    Date: Mon, 21 Jul 2008 08:04:31 GMT
    Server: Apache/1.3.33 (Debian GNU/Linux)
    P3P: CP="ALL NID ADMo OUR NOR COM"
    Set-Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; path=/; domain=.onlineglueck.de
    Set-Cookie: auser=bWAuS3sufSJbL0B9NkFEblbEeSluaSQgOFHkVSVALF8oSn4%2BS1R1KkUrdTN0KFFMVQ%3D%3D; expires=Thu, 16-Jul-2009 08:04:31 GMT; path=/; domain=.onlineglueck.de
    Set-Cookie: skin=4; expires=Thu, 16-Jul-2009 08:04:31 GMT; path=/; domain=.onlineglueck.de
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Location: /olg/index2.olg?update=ok
    Content-Encoding: gzip
    Vary: Accept-Encoding
    Keep-Alive: timeout=2, max=10000
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=iso-8859-1
    ----------------------------------------------------------
    http://www.onlineglueck.de/olg/index2.olg?update=ok
    
    GET /olg/index2.olg?update=ok HTTP/1.1
    Host: www.onlineglueck.de
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.onlineglueck.de/olg/
    Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; auser=bWAuS3sufSJbL0B9NkFEblbEeSluaSQgOFHkVSVALF8oSn4%2BS1R1KkUrdTN0KFFMVQ%3D%3D; skin=4
    
    HTTP/1.x 200 OK
    Date: Mon, 21 Jul 2008 08:04:31 GMT
    Server: Apache/1.3.33 (Debian GNU/Linux)
    P3P: CP="ALL NID ADMo OUR NOR COM"
    Set-Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; path=/; domain=.onlineglueck.de
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Content-Encoding: gzip
    Vary: Accept-Encoding
    Keep-Alive: timeout=2, max=9999
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=iso-8859-1
    ----------------------------------------------------------
    http://www.onlineglueck.de/olg/reload.olg
    
    GET /olg/reload.olg HTTP/1.1
    Host: www.onlineglueck.de
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.onlineglueck.de/olg/index2.olg?update=ok
    Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; auser=bWAuS3sufSJbL0B9NkFEblbEeSluaSQgOFHkVSVALF8oSn4%2BS1R1KkUrdTN0KFFMVQ%3D%3D; skin=4
    
    HTTP/1.x 200 OK
    Date: Mon, 21 Jul 2008 08:04:31 GMT
    Server: Apache/1.3.33 (Debian GNU/Linux)
    P3P: CP="ALL NID ADMo OUR NOR COM"
    Set-Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; path=/; domain=.onlineglueck.de
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    refresh: 300; url=/olg/reload.olg
    Content-Encoding: gzip
    Vary: Accept-Encoding
    Keep-Alive: timeout=2, max=10000
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=iso-8859-1
    ----------------------------------------------------------
    http://www.onlineglueck.de/olg/index.olg?update=ok
    
    GET /olg/index.olg?update=ok HTTP/1.1
    Host: www.onlineglueck.de
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9) Gecko/2008052906 Firefox/3.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.onlineglueck.de/olg/index2.olg?update=ok
    Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; auser=bWAuS3sufSJbL0B9NkFEblbEeSluaSQgOFHkVSVALF8oSn4%2BS1R1KkUrdTN0KFFMVQ%3D%3D; skin=4
    
    HTTP/1.x 200 OK
    Date: Mon, 21 Jul 2008 08:04:31 GMT
    Server: Apache/1.3.33 (Debian GNU/Linux)
    P3P: CP="ALL NID ADMo OUR NOR COM"
    Set-Cookie: sessid=d94fb1154a06ef479efe87bbf800c57810b61ff5; path=/; domain=.onlineglueck.de
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Content-Encoding: gzip
    Vary: Accept-Encoding
    Keep-Alive: timeout=2, max=9998
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=iso-8859-1
    ----------------------------------------------------------
    

    das sollte das wichtigste sein 😉



  • Könnte vielleicht am JavaScript liegen. Wird von curl nicht unterstützt.


Anmelden zum Antworten