HttpRequest endet in Error 403

  • VB.NET

    HttpRequest endet in Error 403

    Moin,

    ich habe mich mal mit dem Thema HttpRequests auseinander gesetzt. Aus Spaß wollte ich mich mal bei einer Seite einloggen. Habe es bei einigen probiert,
    aber geklappt hat es bei keiner. Im Grunde genommen endete ich immer bei folgendem Fehler:

    Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig.

    Ich zeige euch mal meinen Code:

    VB.NET-Quellcode

    1. Dim cookieHeader As String
    2. Dim request As HttpWebRequest = CType(HttpWebRequest.Create("https://www.mediamarkt.de/api/v1/graphql"), HttpWebRequest)
    3. Dim cookieContainer As CookieContainer = New CookieContainer()
    4. request.CookieContainer = cookieContainer
    5. request.Method = "POST"
    6. request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0"
    7. Dim postData As String = File.ReadAllText("C:\Users\xored\Desktop\json.txt")
    8. Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
    9. request.ContentType = "application/x-www-form-urlencoded"
    10. request.ContentLength = byteArray.Length
    11. Dim dataStream As Stream = request.GetRequestStream()
    12. dataStream.Write(byteArray, 0, byteArray.Length)
    13. dataStream.Close()
    14. Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
    15. For Each cook As Cookie In response.Cookies
    16. ListBox1.Items.Add("COOKIE: " & cook.Name & " = " & cook.Value)
    17. Next
    18. request.AllowAutoRedirect = False
    19. dataStream = response.GetResponseStream()
    20. Dim reader As StreamReader = New StreamReader(dataStream)
    21. Dim responseFromServer As String = reader.ReadToEnd()
    22. reader.Close()
    23. dataStream.Close()
    24. response.Close()
    25. WebBrowser1.ScriptErrorsSuppressed = True
    26. WebBrowser1.DocumentText = responseFromServer


    Als Beispiel nehme ich jetzt mal Mediamarkt, aber wie gesagt, jede Seite endet bei mir bei dem Fehler.
    Ich habe Tamper Dev laufen lassen und mich eingeloggt:




    Der Inhalt des Requests sieht so aus:




    Der Body sieht scheinbar so aus:


    Also habe ich den Body in eine Textdatei geschrieben und den in meinem Code als Bytesequenz gesendet. Leider komme ich zu dem Fehler wie oben beschrieben..
    Was mache ich falsch? Das Problem habe ich ja nicht nur bei Mediamarkt.

    Vielen Dank :)

    LG. xored





    Edit.. Also bei Otto hat es auf diesem Wege geklappt..

    *Topic verschoben*


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()