Autlogin in eine Website

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von MrBendinator.

    Autlogin in eine Website

    Hallo ich hatte im Internet mal geguckt und was für eine Website gefunden aber ich habs einfach nicht hinbekommen auf meine Seite umzuwandeln


    Das ist mein Code und ich möchte mich auf die Seite einloggen de.nostale.gameforge.com/user/login

    Ich hoffe ihr könnt mir helfen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Sub Login(ByVal Benutzername As String, ByVal Kennwort As String)
    3. wb.Document.GetElementById("username").SetAttribute("value", Benutzername)
    4. wb.Document.GetElementById("password").SetAttribute("value", Kennwort)
    5. wb.Document.GetElementById("submit").RaiseEvent("click")
    6. End Sub
    7. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    8. Login("Nickname", "Password")
    9. End Sub
    10. End Class
    Erst holst du dir das Add-on Livehttpsheader für Firefox.
    Dann öffne den Livehttpsheader, lösch alles & mach einen haken bei Mitschneiden und versuch dich in einen existierenden Acc einzuloggen.
    Nun musst du sowas hier haben ganz oben bei dem was du mitgeschnitten hast: (oder ähnlich)

    POST /user/login HTTP/1.1
    Host: de.nostale.gameforge.com
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: de.nostale.gameforge.com/user/logout
    Cookie: deviceId=77ab24e0-6914-46da-86b7-bc9a7fa5609e
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 64
    username="Name"&password="Passwort"&SubmitLoginForm=Einloggen

    & so setzt du das dann ein:
    (Brauchst 2 Textboxen + 1 Button)

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Text
    3. Imports System.IO
    4. Public Class Form1
    5. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    6. End Sub
    7. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    8. Dim cookiecon As New CookieContainer 'neuer Cookiecontainer
    9. Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create("http://de.nostale.gameforge.com/user/login"), HttpWebRequest) 'Request auf die Seite wird gemacht
    10. request.CookieContainer = cookiecon 'Cookiecontainer wird gefüllt
    11. request.Method = "POST" 'Post Methode zum einloggen
    12. request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0"
    13. request.ContentType = "application/x-www-form-urlencoded"
    14. Dim Post As String = String.Concat("username=", TextBox1.Text, "&password=", TextBox2.Text, "&SubmitLoginForm=Einloggen") 'Der Post-String der übergeben wird
    15. Dim bytes() As Byte = Encoding.Default.GetBytes(Post) 'Die Bytes des Post-strings die in den stream geschrieben werden
    16. request.ContentLength = bytes.Length
    17. Dim datastream As Stream = request.GetRequestStream()
    18. datastream.Write(bytes, 0, bytes.Length) 'Bytes werden in den stream geschrieben (einloggen)
    19. datastream.Close()
    20. Dim response As HttpWebResponse = DirectCast(request.GetResponse, HttpWebResponse)
    21. Using sr As New StreamReader(response.GetResponseStream)
    22. Dim input As String = sr.ReadToEnd
    23. If input.Contains("logout") Then 'Wenn "logout" im Quelltext der nächsten Seite vorhanden ist (weil eingeloggt), dann ...
    24. MessageBox.Show("Eingeloggt")
    25. End If
    26. End Using
    27. End Sub
    28. End Class


    Wenn du dich einloggst oder sonst Daten übergibst verwendest du die Post methode, ansonsten wenn du eine Seite aufrufst die Get Methode.
    Das obige Beispiel funktioniert schon fürs einloggen, die messagebox wird angezeigt wenn du eingeloggt bist. (Der Acc existiert)
    Mit dem Code oben könntest du jetzt noch weiter arbeiten, indem du den Cookiecontainer ausserhalb der Prozedur deklarierst & auf einen erneuten Button Click z.B. eine weitere Tätigkeit ausführen lässt (Vorraussetzung du bist eingeloggt), dabei musst du dem request den cookiecontainer zuordnen, damit er weiß, dass er eingeloggt ist.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RushDen“ ()