Webrequest login

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Linkai.

    Webrequest login

    Hallo liebe vb Gemeinde, ich hoffe ihr könnt uns weiter helfen ... mein Kumpel und ich versuchen verzweifelt ein Login über Webrequest auf seiner Seite zu realiesieren nur reichen unsere Kenntnisse bis dahin nicht wirklich aus, daher hoffen wir sehr um eure Mithilfe

    Würde mich sehr um Hilfe

    Hier zum Code:

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Text
    3. Imports System.IO
    4. Public Class Form1
    5. Dim logincookie As CookieContainer
    6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    7. Dim postData As String = "referer=http%3A%2F%2Fdie-ebesucher.eu%2" & TextBox1.Text & "&nickname=" & TextBox2.Text & "&passwort=" & "%2$s&autologin=true&checkid=Login"
    8. Dim tempCookies As New CookieContainer
    9. Dim encoding As New UTF8Encoding
    10. Dim byteData As Byte() = encoding.GetBytes(postData)
    11. Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("http://www.die-ebesucher.eu"), HttpWebRequest)
    12. postReq.Method = "POST"
    13. postReq.KeepAlive = True
    14. postReq.CookieContainer = tempCookies
    15. postReq.ContentType = "application/x-www-form-urlencoded"
    16. postReq.Referer = "http://www.die-ebesucher.eu"
    17. postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)"
    18. postReq.ContentLength = byteData.Length
    19. Dim postreqstream As Stream = postReq.GetRequestStream()
    20. postreqstream.Write(byteData, 0, byteData.Length)
    21. postreqstream.Close()
    22. Dim postresponse As HttpWebResponse
    23. postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
    24. tempCookies.Add(postresponse.Cookies)
    25. logincookie = tempCookies
    26. Dim postreqreader As New StreamReader(postresponse.GetResponseStream())
    27. Dim thepage As String = postreqreader.ReadToEnd
    28. RichTextBox1.Text = thepage
    29. End Sub
    30. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    31. WebBrowser1.DocumentText = RichTextBox1.Text
    32. End Sub
    33. Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    34. End Sub
    35. Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles WebBrowser1.NewWindow
    36. e.Cancel = True
    37. End Sub
    38. End Class

    dj_peem schrieb:

    liegt es wohl an zeile 11
    Stimmt.

    Trace den Post-Request mit HttpFox oder "Live HTTP Headers" und schau genau hin, welche Header und welche Post-Parameter der schickt.
    Und dann vergleiche mit dem kunterbunten String, den du verschickst.

    Die Seite ist furchtbar und verursacht Augenkrebs, aber das kann mir ja egal sein.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    also ich will mich bei der Seite einloggen können und die Surfbar benutzen ... die Surfbar kann nur genutzt werden soblad ich mich eingeloggt habe

    wer mir das realiesieren kann bin ich auch gerne bereit dazu etwas zu geben... schickt mir ne mail: dj_peem@yahoo.de
    würde mich freuen lg

    http live headers:

    die-ebesucher.eu/

    POST / HTTP/1.1
    Host: die-ebesucher.eu
    User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:31.0) Gecko/20100101 Firefox/31.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: de,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: die-ebesucher.eu/
    Cookie: PHPSESSID=ku0jppgmcocte8bvfv3e399d63
    Connection: keep-alive
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 56
    nickname=hallo&passwort=123&autologin=true&checkid=Login
    HTTP/1.1 200 OK
    Server: nginx
    Date: Tue, 26 Aug 2014 11:46:34 GMT
    Content-Type: text/html
    Content-Length: 3168
    Connection: keep-alive
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Pragma: no-cache
    X-Powered-By: PleskLin
    Vary: Accept-Encoding
    Content-Encoding: gzip

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „dj_peem“ ()

    dj_peem schrieb:

    nickname=hallo&passwort=123&autologin=true&checkid=Login
    Das sind deine Post-Daten.
    Und was schickst du?
    ​Dim postData As String = "referer=http%3A%2F%2Fdie-ebesucher.eu%2" & TextBox1.Text & "&nickname=" & TextBox2.Text & "&passwort=" & "%2$s&autologin=true&checkid=Login"Schau doch mal im Debugger, was danach in postData drin steht.
    Bestimmt nicht das was die Seite erwartet.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    kannst du mir evt helfen ? also ein beispiel im code schreiben wie du das meinst wie gesagt ich habe versucht und gegoogelt aber bekomme das nicht hin lg


    leider bin ich auch nicht so der profi was vb angeht deswegen bitte ich um eure hilfe ... lg

    dj_peem schrieb:

    kannst du mir evt helfen ?
    Ich bin der Meinung, dass dir am meisten geholfen ist, wenn du das Problem selbst lösen kannst.
    Du weisst, wie der String aussehen soll und du weisst, wo der String zusammengebaut wird.
    Du wirst es doch wohl schaffen, diese eine Zeile so zu verändern, dass am Ende der richtige String in postData drin steht.

    Aber mal was ganz anderes:
    Du hast in deinem Programm irgendwelche WebBrowser-Events drin und das hantierst mit WebRequests.
    Möchtest du dich jetzt per WebRequest einloggen und glaubst, dass deine Browsersession diesen Login mitkriegt?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hey, pass auf:

    du hast php files aufm Server welche die Post-Variablen aus deiner VB entgegennehmen und verarbeiten.
    Jeder Account hat bspw. ne ID in der Datenbank.
    Wenn du also die Logindaten (user,pw) an die php sendest und diese übereinstimmen, lass dir die ID ausgeben und arbeite damit weiter.
    Ansonsten überlegst du dir am besten einen Fehlercode der von deiner PHP zurück gegeben wird bspw. login_99 <-- fehlschlag

    in VB wandelst du das ganze in einen String um und machst ne simple IF abfrage.

    VB.NET-Quellcode

    1. If not result = "login_99" then
    2. '... tu was du machen willst
    3. else
    4. msgbox("Login fehlgeschlagen")
    5. end if


    versuchs damit, ansonsten bekommst du von mir noch nen Denkanstoß :)


    ok login habe ich gelöst nur kann ich nicht mit dem webbrowser die surfbar starten die-ebesucher.eu/auto_surf.php kann vielleicht einer helfen ?​


    klar, du hast auch nur eine Abfrage der logindaten gemacht und willst in vb damit weiter arbeiten.
    Wenn ich dir einen TIPP geben dürfte:

    Gestalte die Seite nochmal als "Desktop-Client"-Version um sodass du einfach mit einem Webbrowser auf die neue Seite verweißt auf der sich am Anfang direkt das Login befindet :)
    Danach gehts weiter wie gewohnt
    Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 <3 ich liebe dich Schatz :love: :love:

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