Ik probeer dmv Een HttpWebrequest in te loggen op een forum.
Het probleem is dat het inloggen zelf niet werkt. Wat ik doe is een post stuur naar member.php. Maar de response laat zien dat ik gewoon niet ben ingelogged.
De code:
loginPostForm is een simpele class die de postString samenstelt:
Ik heb al overal gezocht op google, maar er wordt niet duidelijk uitgelegd wat er precies moet gebeuren. Heeft iemand hier een idee wat ik verkeerd doe?
Het probleem is dat het inloggen zelf niet werkt. Wat ik doe is een post stuur naar member.php. Maar de response laat zien dat ik gewoon niet ben ingelogged.
De code:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Dim req As HttpWebRequest = WebRequest.Create("http://ep2.nl/member.php") req.Method = "POST" req.ContentType = "application/x-www-form-urlencoded" req.CookieContainer = New CookieContainer() Dim loginForm As New loginPostForm("ikke", "****") Dim postData As Byte() = loginForm.getData req.ContentLength = postData.Length Dim reqStream As System.IO.Stream = req.GetRequestStream reqStream.Write(postData, 0, postData.Length) reqStream.Close() Dim res As HttpWebResponse = req.GetResponse RichTextBox1.Text = New IO.StreamReader(res.GetResponseStream).ReadToEnd |
loginPostForm is een simpele class die de postString samenstelt:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Public Class loginPostForm Dim username As String Dim password As String Dim action As String = "do_login" Dim url As String = "http://ep2.nl/index.php" Sub New(ByVal username As String, ByVal password As String) Me.username = username Me.password = password End Sub Function getData() As Byte() Dim enc As New System.Text.ASCIIEncoding Dim data As String data = "username=" & username data &= "&password=" & password data &= "&action=" & action data &= "&url=" & url Dim encData As Byte() = enc.GetBytes(data) Return encData End Function End Class |
Ik heb al overal gezocht op google, maar er wordt niet duidelijk uitgelegd wat er precies moet gebeuren. Heeft iemand hier een idee wat ik verkeerd doe?