Ergebnis 1 bis 2 von 2
  1. #1
    Anfänger
    Registriert seit
    17.04.2016
    Beiträge
    11

    Standard HttpWebRequest - POST wird nicht ausgeführt

    Hallo Zusammen,

    ich benötige eure Unterstützung bei HttpWebRequest.
    Ich bin gerade dabei einen kleinen Bot für das Browsergame Travian zu schreiben welches ich auf einem Privatserver nutzen möchte.
    Einige Funktionen klappen bisher wunderbar. Doch nun möchte ich "Truppen ausbilden" und das funktioniert plötzlich nicht.

    Zur Veranschaulichung hier der POST Ausschnitt:
    HTML-Code:
    http://tx1024.atergatis.com/build.php
    Host: tx1024.atergatis.com
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: de,en-US;q=0.7,en;q=0.3
    Accept-Encoding: gzip, deflate
    Referer: http://tx1024.atergatis.com/build.php?id=32
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 34
    Connection: keep-alive
    Cookie: _ga=GA1.2.635458686.1547908770; t4level=1; PHPSESSID=l4a8ce5eelku8lovvqsjghokl5; tt_lang=en; tt_mlang=en; highlightsToggle=false; c_name=0|Win32|Windows%20NT%2010.0|1920px*1080px|amd64|-%2C-%2C-; chatmaninwindowtab=0; WMBlueprints=%5B%5
    Upgrade-Insecure-Requests: 1
    id=32&ft=t1&t1=0&t2=100&t3=0&s1=ok
    POST: HTTP/1.1 302 Moved Temporarily
    Date: Wed, 29 May 2019 22:44:11 GMT
    Server: Apache/2.2.15
    X-Powered-By: PHP/5.3.3
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Pragma: no-cache
    Set-Cookie: tt_lang=en; expires=Wed, 05-Jun-2019 22:44:11 GMT
    tt_mlang=en; expires=Wed, 05-Jun-2019 22:44:11 GMT
    Location: build.php?id=32
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 20
    Keep-Alive: timeout=5, max=193
    Connection: Keep-Alive
    Content-Type: text/html; charset=UTF-8

    Und das hier mein VB.Net Code
    Code:
     
            With New Http
                Dim html As String = String.Empty
                Dim username As String = txtUsername.Text
                Dim password As String = txtPassword.Text
                html = .GetResponse("http://tx1024.atergatis.com/login.php", "ft=a4&user=" & username & "&pw=" & password & "&s1=Login&w=&login=1394973455")
                html = .GetResponse("http://tx1024.atergatis.com/dorf2.php?newdid=33013")
                html = .GetResponse("http://tx1024.atergatis.com/build.php?", "id=32&ft=t1&t1=0&t2=100&t3=0&s1=ok")
                MsgBox("erledigt")
            End With
    Ich nutze folgende Klasse um HttpWebRequest auszuführen:
    Code:
    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 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0"
            request.ContentType = "application/x-www-form-urlencoded"
            Dim byteArr() As Byte = Encoding.Default.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
    Wenn ich nun die Button ausführe erhalte ich die MsgBox = "erledigt" jedoch werden keine Truppen ausgebildet.
    Ich weiss wirklich nicht was ich falsch mache und hoffe auf eure Unterstützung.

    Vielen Dank im Vorraus.


  2. #2
    Sobig Wurm
    Registriert seit
    03.07.2015
    Beiträge
    201

    Standard AW: HttpWebRequest - POST wird nicht ausgeführt

    Moin,

    wenn du in der Doku (https://docs.microsoft.com/de-de/dot...tframework-4.8) dir die Methode durchliest, die du da benutzt, steht da:

    Die GetResponse Methode gibt eine WebResponse -Objekt, das die Antwort der Internetressource enthält.Die tatsächliche Instanz zurückgegeben wird ein HttpWebResponse, und auf diese Klasse zum Zugriff auf HTTP-spezifische Eigenschaften umgewandelt werden kann.
    Außerdem:

    Aus Sicherheitsgründen sind Cookies standardmäßig deaktiviert.Wenn Sie Cookies verwenden möchten, verwenden Sie die CookieContainer Eigenschaft, um Cookies zu aktivieren.
    Ich denke was du brauchst ist diese Klasse: https://docs.microsoft.com/de-de/dot...tframework-4.8



    Viele Grüße

    Dailox

Ähnliche Themen

  1. [PHP] Hilfe. POST wird nich übergeben..
    Von heatshock im Forum PHP
    Antworten: 11
    Letzter Beitrag: 22.10.2008, 14:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •