vb.net HttpRequest

12/02/2012 17:35 frequenzer#1
Hallo, habe ein Login gebaut für bananenkönig.de, aber er geht nicht, komischer Fehler beim debuggen.
Ich hoffe mir kann jemand helfen...

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

      
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLogin.Click
        Dim cookieCon As New CookieContainer
        Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create("http://www.bananenkoenig.de/index.php?ac=login"), HttpWebRequest)

        request.Method = "POST"
        request.CookieContainer = cookieCon
        request.UserAgent = "Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1"
        request.ContentType = "application/x-www-form-urlencoded"
        Dim post As String = "selserver=Plantage%A01&user=testuser&password=testuser&x=172&y=8"
        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

        If seitenQuelltext.Contains("Logout") Then
            MsgBox("Fine")

        Else
            MsgBox("Not Fine")

        End If



    End Sub
End Class
PS:Ihr könnt es 1:1 kopieren, user und pass sind richtig.
12/02/2012 19:23 'Heaven.#2
Explict weglassen und den cookiecontainer global definieren
12/02/2012 20:35 Kraizy​#3
Quote:
Originally Posted by 'Heaven. View Post
Explict weglassen
Warum sollte man soetwas tun?
12/02/2012 21:03 frequenzer#4
Quote:
Originally Posted by 'Heaven. View Post
Explict weglassen und den cookiecontainer global definieren
global? Wie denn genau? Und mit dem 1.eren klappts auch nicht.

Quote:
Originally Posted by Kraizy​ View Post
Warum sollte man soetwas tun?

hast du eine lösung dazu?
12/02/2012 21:09 Kraizy​#5
Quote:
Originally Posted by frequenzer View Post
hast du eine lösung dazu?
Quote:
Originally Posted by frequenzer View Post
aber er geht nicht, komischer Fehler beim debuggen.
Welcher "komischer Fehler"?
12/02/2012 21:36 frequenzer#6
Bei

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

kommt

Der Remoteserver hat einen Fehler zurückgegeben: (417) Expectation Failed.

EDIT:

geht doch nicht

Muss wohl am Spiel liegen -.-
12/03/2012 14:33 False#7
Bei mir geht es ohne Probleme :p
Also nachdem ich
Quote:
request.ServicePoint.Expect100Continue = False
eingefügt habe :)
12/03/2012 14:40 'Heaven.#8
@Kraizy
Es ist überflüssig, da strict explicit mit einschließt meines wissens
12/03/2012 15:17 frequenzer#9
Quote:
Originally Posted by .ƒaℓsє. View Post
Bei mir geht es ohne Probleme :p
Also nachdem ich
eingefügt habe :)
Danke dir, werde es nacher nochmal ausprobieren, versuche mich gerade an penner game :handsdown:
12/03/2012 15:19 RicoSterr#10
Klappt das den jetzt?

LG
12/03/2012 15:51 False#11
Quote:
Originally Posted by RicoSterr View Post
Klappt das den jetzt?

LG
Bei mir ohne Probleme ;)
12/04/2012 17:38 Kraizy​#12
Quote:
Originally Posted by 'Heaven. View Post
Es ist überflüssig
Nein ist es nicht. Sollte Explicit wirklich aus sein (normalerweise hat die IDE Explicit auf ON als Standardeinstellung), so wäre dies hier möglich (obwohl Strict On ist):

PHP Code:
Dim s1 As String
MsgBox
(s2
Du kannst das zwar nun kompilieren und ausführen (obwohl die Variable s2 nicht explizit deklariert wurde), aber bei einem großen Projekt wäre sowas einfach der reinste Horror.