HttpWebRequest Login

10/20/2015 11:23 Benjihz#16
Quote:
Originally Posted by .SkyneT. View Post
Du hast dem CookieContainer nie irgendwelche Cookies gegeben, ich würde mal vermuten das dein CookieContainer leer ist, und du desshalb bei der 2ten Anfrage nicht mehr eingeloggt bist.
Überprüf doch mal den Inhalt des CookieContainers mit dem Debugger.
Hab mal den Inhalt des CookieContainer geprüft:

Code:
   Dim anzahl As Integer = cookiecon.Count

        If anzahl = 0 Then
            MsgBox("Container ist leer!")
        Else
            MsgBox(anzahl & " Cookies sind im Container")

        End If
3 Cookies vorhande...^^

MfG
10/20/2015 12:16 warfley#17
Lass dir doch einfach mal die Anfrage und Antwort http header ausgeben und poste die hier, dann können wir sehen wo die Cookies verloren gehen

Außerdem lass dir mal nach jedem request die Cookies als Server cookie String ausgeben
10/20/2015 13:15 Benjihz#18
So Leute danke an alle die geholfen haben. Der Fehler ist ziemlich lustig^^
Mit den Cookies war alles super. Das Problem war das ich lediglich vergessen hatte den UserAgent bei der GET zu übergeben...
Sorry :D

MfG

Code:
Imports System.IO
Imports System.Text
Imports System.Net

Public Class Form1
    Public Shared cookiecon As New CookieContainer

    Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
        Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create("https://forum.die-staemme.de/login.php?do=login"), HttpWebRequest)
        Dim username As String = tbUsername.Text
        Dim password As String = tbPassword.Text
        Dim post As String = "vb_login_username=" & username & "&vb_login_password=" & password & "&vb_login_password_hint=Kennwort&s=&securitytoken=guest&do=login&vb_login_md5password=&vb_login_md5password_utf="
        Dim userAgent As String = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"
        Dim ContentType As String = "application/x-www-form-urlencoded"

        POST_________LOGIN_________________________

        request.Method = "POST"
        request.CookieContainer = cookiecon
        request.UserAgent = userAgent
        request.ContentType = ContentType

        Dim byteArr() As Byte = Encoding.Default.GetBytes(post)
        request.ContentLength = byteArr.Length

        Dim dataStream As Stream = request.GetRequestStream()
        dataStream.Write(byteArr, 0, byteArr.Length)


        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)

        Dim reader As New StreamReader(response.GetResponseStream())
        Dim seitenQuelltext As String = reader.ReadToEnd()
        Dim anzahl As Integer = cookiecon.Count

        If seitenQuelltext.Contains("Weiterleitung . . .") Then
            Label3.Text = "Eingeloggt!  " & anzahl
            seitenQuelltext = ""
        Else
            Label3.Text = "Fehler  " & anzahl
        End If

      

        GET____AUF HAUPTSEITTE_______________________________
        Dim anzahl2 As Integer = cookiecon.Count
        request = DirectCast(HttpWebRequest.Create("https://forum.die-staemme.de/forum.php"), HttpWebRequest)
        request.CookieContainer = cookiecon
        request.KeepAlive = True
        request.Method = "GET"
        request.ContentType = ContentType
        request.UserAgent = userAgent

        response = DirectCast(request.GetResponse(), HttpWebResponse)
        reader = New StreamReader(response.GetResponseStream())
        seitenQuelltext = reader.ReadToEnd()


        If seitenQuelltext.Contains("Hallo,") Then
            Label4.Text = "OK  " & anzahl2
        Else
            Label4.Text = "Fehler  " & anzahl2
        End If

        GET____AUF Kalender_______________________________
        Dim anzahl3 As Integer = cookiecon.Count
        request = DirectCast(HttpWebRequest.Create("https://forum.die-staemme.de/calendar.php"), HttpWebRequest)
        request.CookieContainer = cookiecon
        request.KeepAlive = True
        request.Method = "GET"
        request.ContentType = ContentType
        request.UserAgent = userAgent

        response = DirectCast(request.GetResponse(), HttpWebResponse)
        reader = New StreamReader(response.GetResponseStream())
        seitenQuelltext = reader.ReadToEnd()


        If seitenQuelltext.Contains("Respektl0s") Then
            Label5.Text = "OK  " & anzahl3
        Else
            Label5.Text = "Fehler  " & anzahl3
        End If


    End Sub
End Class