[vb]HTTP Request Problem

05/13/2012 03:06 BigJk#1
Hallo. Ich habe ein kleines Problem mit HTTP Request bei einem vBulletin board.
Es gibt mir immer zurück das der Login fehlgeschlagen ist...

Hier der Code
PHP Code:
Imports System.IO, System.Net, System.Text, System.Security.Cryptography

Module login

    
Public Function logintovb(ByVal user As String, ByVal pw As String)
        
Dim loginsucces As Boolean

        Dim Request 
As HttpWebRequest = CType(WebRequest.Create("http://www.|vBulletinLink|/login.php?do=login"), HttpWebRequest)
        
Request.Method = "POST"
        
Request.ContentType = "application/x-www-form-urlencoded"

        
Dim Post As String = "vb_login_username=" & user & "&vb_login_password=&s=&securitytoken=guest&do=login&vb_login_md5password=" & StringToMD5(pw) & "&vb_login_md5password_utf=" & StringToMD5(pw)
        
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
        
Request.ContentLength = byteArray.Length
        Dim DataStream 
As Stream = Request.GetRequestStream()
        
DataStream.Write(byteArray, 0, byteArray.Length)
        
DataStream.Close()

        
Dim Response As HttpWebResponse = Request.GetResponse()
        
DataStream = Response.GetResponseStream()
        
Dim reader As New StreamReader(DataStream)
        
Dim ServerResponse As String = reader.ReadToEnd()
        
reader.Close()
        
DataStream.Close()
        
Response.Close()

        If 
InStr(ServerResponse, "Thank you for logging in") Then
            loginsucces 
= True
        
Else
            
loginsucces = False
        End 
If

        Return 
loginsucces

    End 
Function

    Private Function 
StringToMD5(ByVal Content As String) As String
        Dim M5 
As New MD5CryptoServiceProvider

        Dim ByteString
() As Byte = System.Text.Encoding.ASCII.GetBytes(Content)
        
ByteString = M5.ComputeHash(ByteString)

        
Dim FinalString As String = Nothing
        
For Each bt As Byte In ByteString
            FinalString 
&= bt.ToString("x2")
        
Next
        
Return FinalString
    End 
Function
End Module 
(Hab den Link mal entfernt)
Was könnte ich falsch gemacht haben? ;/

Button Code:
PHP Code:
        If logintovb(textbox1.text, textbox2.text) = True Then
            Form2
.Show()
        Else
            
MsgBox("Falscher Benutzername oder Passwort")
        
End If 
Schonmal danke ^^
05/13/2012 03:38 bammes#2
hab mir die Seite mal angesehen.

Bei mir heißt der zu übergebende Post :
customernr=ff&password=sdsf&do=login
05/13/2012 03:42 BigJk#3
Quote:
Originally Posted by bammes View Post
hab mir die Seite mal angesehen.

Bei mir heißt der zu übergebende Post :
customernr=ff&password=sdsf&do=login
Welche Seite? Hab doch den Seitenlink entfernt... xD
05/13/2012 10:10 bammes#4
Bin einfach mal von der Seite
[Only registered and activated users can see links. Click Here To Register...]
lletin
.com/

ausgegangen

Und manche Seiten wollen nen Referer beim Anfrageheader.
05/13/2012 10:39 Kraizy​#5
Du benutzt keinen CookieContainer.
P.S. du übergibst dein Passwort deiner post-Variable nicht.
05/13/2012 14:37 BigJk#6
Quote:
Originally Posted by xKraizy View Post
Du benutzt keinen CookieContainer.
P.S. du übergibst dein Passwort deiner post-Variable nicht.
Ok, CookieContainer muss ich mir mal anschauen.
Mit Passwort meinst du "vb_login_password=" oder? Hab mit HTTP Live Header nachgeschaut es werden nur die gehashten Pws benötigt... das "vb_login_password=" kann blank bleiben

€DIT: Fehler gefunden... leider kann ich ihn nicht beheben xD