FB Login vb.net

Kruemelino

Aktives Mitglied
Mitglied seit
21 Jan 2006
Beiträge
1,305
Punkte für Reaktionen
84
Punkte
48
Hallo,

auch auf die Gefahr hin, dass es nicht ganz hingehört.
Der Login auf die Fritz!Box über vb.net bekomm ich nicht hin. Wenn ich den üblichen Link im Firefox eingebe:
Code:
http://192.168.177.1/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&login:command/password=pwd
Dann geschieht nichts.

Im Internet habe ich einen Code gefunden, der funktionieren soll.
Code:
    Public Function write(ByVal Link As String, Optional ByVal data As String = "") As String
        Dim uri As New Uri(Link)
        If (uri.Scheme = uri.UriSchemeHttp) Then
            Dim request As HttpWebRequest = CType(HttpWebRequest.Create(uri), HttpWebRequest)
            request.Method = WebRequestMethods.Http.Post
            request.Timeout = 5000
            request.AllowWriteStreamBuffering = True
            request.AllowAutoRedirect = True
            request.AuthenticationLevel = Security.AuthenticationLevel.None
            request.ContentLength = data.Length
            request.ContentType = "application/x-www-form-urlencoded"
            Dim wStream As IO.Stream = request.GetRequestStream
            Dim writer As New IO.StreamWriter(wStream)
            writer.Write(data)
            writer.Close()
            Dim response As HttpWebResponse
            response = CType(request.GetResponse(), HttpWebResponse)
            Dim reader As New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.Unicode)
            Dim tmp As String = reader.ReadToEnd()
            reader.Close()
            response.Close()
            Return tmp
        End If
    End Function
Mit dem Programm WireShark habe ich schon herausgefunden, dass das POST rausgeht. Nur erhalte ich einen TImeout, wenn ich die Antwort der FB erwarte.

Hat jemand bereits den Login der FritzBox mit vb.net hinbekommen, und kann mir sagen was ich falsch mache?

Kruemel
 
Wenn du schon in die Leitung beißt (Wireshark), warum guckst du dann nicht einfach, was dein Browser sendet und fummelst so lange an deinem VB-Code, bis es übereinstimmt?
 
Danke für den Tipp, ich hab es gelößt.

Code:
    Public Function Write(ByVal Link As String, Optional ByVal data As String = "") As String
        Dim uri As New Uri(Link)
        If (uri.Scheme = uri.UriSchemeHttp) Then
            Dim request As HttpWebRequest = CType(HttpWebRequest.Create(uri), HttpWebRequest)
            request.Method = WebRequestMethods.Http.Post
            request.Timeout = 5000
            request.ContentLength = data.Length
            request.ContentType = "application/x-www-form-urlencoded"
            'request.CachePolicy = noCache
            request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
            request.UserAgent = "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 1.1.4322)"
            Dim wStream As IO.Stream = request.GetRequestStream
            Dim writer As New IO.StreamWriter(wStream)
            writer.Write(data)
            writer.Close()

            Dim response As HttpWebResponse
            response = CType(request.GetResponse, HttpWebResponse)
            Dim reader As New IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.Default)
            Dim tmp As String = reader.ReadToEnd()
            reader.Close()
            response.Close()
            Return tmp
        End If
        Return vbNullString
    End Function
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.