|
You last visited: Today at 06:05
Advertisement
kann jemand bitte meinen HttpWebRequest code korrigieren ? [VB.NET 2010]
Discussion on kann jemand bitte meinen HttpWebRequest code korrigieren ? [VB.NET 2010] within the .NET Languages forum part of the Coders Den category.
02/29/2012, 16:57
|
#1
|
elite*gold: 19
Join Date: Nov 2010
Posts: 2,399
Received Thanks: 804
|
kann jemand bitte meinen HttpWebRequest code korrigieren ? [VB.NET 2010]
hi Comunity,
ich möchte eig. nicht viel reden weil der Titel sagt eig. alles
ich hatte vor mich über httpwebRequest auf epvp anzumelden nur gibt er mir immer in einer if anfrage "nicht eingeloggt" wieder.
und ich weiß wirklich nicht wo der fehler liegt
Code:
Code:
Option Strict On
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Form1
Dim 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("http://www.elitepvpers.com/forum/login.php?do=login"), HttpWebRequest)
request.Method = "Post"
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2"
request.ContentType = "application/x-www-form-urlencoded"
Dim post As String = "vb_login_username=[meinbenutzername]&vb_login_password=[meinpasswort]&cookieuser=1&s=&securitytoken=guest&do=login&vb_login_md5password=&vb_login_md5password_utf="
Dim byteArr() As Byte = Encoding.UTF8.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()
request.CookieContainer = cookieCon
Dim request2 As HttpWebRequest = DirectCast(HttpWebRequest.Create("http://www.elitepvpers.com/forum/"), HttpWebRequest)
request2.Method = "Get"
Dim response2 As HttpWebResponse = DirectCast(request2.GetResponse(), HttpWebResponse)
Dim reader2 As New StreamReader(response2.GetResponseStream())
Dim seitenQuelltext2 As String = reader2.ReadToEnd()
request2.CookieContainer = cookieCon
If seitenQuelltext2.Contains("Abmelden") Then
MsgBox("eingeloggt")
Else
MsgBox("nicht eingeloggt")
End If
End Sub
End Class
da es bestimmt ein richtig einfacher Fehler ist kriegt der erste 1 E*Gold was ich angemessen finde
|
|
|
02/29/2012, 22:04
|
#2
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
#moved
|
|
|
03/01/2012, 12:05
|
#3
|
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
|
Was mir jetzt mal schnell auffällt wenn ichs sehe:
Den POST kannst du kürzen:
"vb_login_username=" + USERNAME + "&vb_login_password=" + PASSWORD + "&do=login"
Und das du dir dann ne ganze Seite runterlädst nur um zu sehen ob die Seite "Abmelden" beinhaltet ist recht ineffizient. Außerdem was machst du wenn in der Shoutbox oder in einem Thread Titel das Wort vorkommt?
Du solltest lieber das Cookie auslesen welches erzeugt wird, da steht auch drinnen ob du eingeloggt bist oder nicht :>
Ansonsten hier mal 2 Klassen, für post & get (wurde nur schnell konvertiert, musst testen ob das so geht):

|
|
|
03/01/2012, 14:12
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
PHP Code:
Option Strict On
Option Explicit On
Imports System.IO
Imports System.Net
Imports System.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With New Http
Dim post As String = "vb_login_username=[meinbenutzername]&vb_login_password=[meinpasswort]&cookieuser=1&s=&securitytoken=guest&do=login&vb_login_md5password=&vb_login_md5password_utf="
Dim html As String = .GetResponse("http://www.elitepvpers.com/forum/login.php?do=login", post)
html = .GetResponse("http://www.elitepvpers.com/forum/")
If html.Contains("Log Out") Then
MsgBox("eingeloggt")
End If
End With
End Sub
End Class
Public Class Http
Dim cookieCon As New CookieContainer
Dim request As HttpWebRequest
Dim response As HttpWebResponse
Public Function GetResponse(ByVal url As String) As String
request = CType(HttpWebRequest.Create(url), HttpWebRequest)
request.CookieContainer = cookieCon
response = CType(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd()
End Function
Public Function GetResponse(ByVal url As String, ByVal post As String) As String
request = CType(HttpWebRequest.Create(url), HttpWebRequest)
request.Method = "POST"
request.CookieContainer = cookieCon
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0"
request.ContentType = "application/x-www-form-urlencoded"
Dim byteArr() As Byte = Encoding.UTF8.GetBytes(post)
request.ContentLength = byteArr.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArr, 0, byteArr.Length)
response = CType(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd()
End Function
End Class
|
|
|
03/01/2012, 16:26
|
#5
|
elite*gold: 19
Join Date: Nov 2010
Posts: 2,399
Received Thanks: 804
|
Quote:
Originally Posted by xKraizy
PHP Code:
Option Strict On
Option Explicit On
Imports System.IO
Imports System.Net
Imports System.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With New Http
Dim post As String = "vb_login_username=[meinbenutzername]&vb_login_password=[meinpasswort]&cookieuser=1&s=&securitytoken=guest&do=login&vb_login_md5password=&vb_login_md5password_utf="
Dim html As String = .GetResponse("http://www.elitepvpers.com/forum/login.php?do=login", post)
html = .GetResponse("http://www.elitepvpers.com/forum/")
If html.Contains("Log Out") Then
MsgBox("eingeloggt")
End If
End With
End Sub
End Class
Public Class Http
Dim cookieCon As New CookieContainer
Dim request As HttpWebRequest
Dim response As HttpWebResponse
Public Function GetResponse(ByVal url As String) As String
request = CType(HttpWebRequest.Create(url), HttpWebRequest)
request.CookieContainer = cookieCon
response = CType(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd()
End Function
Public Function GetResponse(ByVal url As String, ByVal post As String) As String
request = CType(HttpWebRequest.Create(url), HttpWebRequest)
request.Method = "POST"
request.CookieContainer = cookieCon
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0"
request.ContentType = "application/x-www-form-urlencoded"
Dim byteArr() As Byte = Encoding.UTF8.GetBytes(post)
request.ContentLength = byteArr.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArr, 0, byteArr.Length)
response = CType(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd()
End Function
End Class
|
danke euch beiden , ich habe es jetzt geschafft dank euch
|
|
|
03/01/2012, 16:36
|
#6
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Joa..STRG+A, STRG+C & STRG+V müsste heutzutage eig jeder schaffen.
|
|
|
 |
Similar Threads
|
Kann jemand mir bitte 'kostenlos' ein Intro für meinen YouTube-Account erstellen?
10/26/2011 - Main - 14 Replies
Hallöchen, ich suche wie oben im Titel schon erwähnt jemanden der mir kostenlos, also jemand der mir hobbymäßig ein Intro erstellen kann. Hab auch schon versucht sowas hinzubekommen, aber ich komme nicht mit Cinema 4D R12 (Demo), sowie Adobe After Effects (Demo) klar (das andere Problem wäre da noch das ich mit meiner Cinema 4D Demo nichts speichern kann).
Diese gefallen mir sehr gut: 1. http://www.youtube.com/watch?v=8o4d3G3oFJE (C4D + AE) (Download in der Beschreibung bei Youtube) >Da soll...
|
[SUCHE] Jemanden der Quests korrigieren kann!
07/18/2011 - Metin2 Private Server - 3 Replies
Hi, habe da zwei Quests, die wie es aussieht mal schnell überflogen und eventuell ein bisschen verbessert werden müssen! Wer Lust/Zeit dazu hat, bitte bei mir melden! Zahle natürlich auch gut. ;)
Skype: revived-dazee
|
Kann mir bitte jemand helfen meinen D2jspaccount wieder zu bekommen?
04/03/2011 - Diablo 2 Trading - 14 Replies
Also Folgendes ist passiert:
Vor ca. einem Monat wollte ich mich mal wieder bei d2jsp einloggen, doch dann stand da, dass meine Passwörter falsch seien.
Ich habe sie dann ungefähr 100 Mal eingegeben, doch es hatte nichts gebracht.
Ich entschloss mich dann die Pws zurückzusetzten.
Leider vergeblich, da die Nachrichten mit den neuen Passwörtern nicht bei Web.de ( mein provider ) ankommen. Weis der Teufel wieso.
Als Nächstes versuchte ich die Emailadresse von Web.de auf Googlemail.com...
|
All times are GMT +1. The time now is 06:05.
|
|