HTTPWebRequest Response Problem

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    HTTPWebRequest Response Problem

    Ich habe folgendes Problem. Ich sende einen POST Request zu einen Server der mir einen Response senden soll.
    Bisher ist alles gut ich bekomme aber immer beim Response: (405) Unzulässige Methode.
    Ich weiß aber das der Server nur POST Requests annimmt.

    Mein Code:

    VB.NET-Quellcode

    1. Private Function SendRequest(uri As Uri, jsonDataBytes As Byte(), contentType As String, method As String) As String
    2. Dim req As HttpWebRequest = HttpWebRequest.CreateHttp(uri)
    3. req.ContentType = contentType
    4. req.Method = method
    5. req.Accept = "application/json"
    6. req.ContentLength = jsonDataBytes.Length
    7. req.Credentials = CredentialCache.DefaultCredentials
    8. Dim stream = req.GetRequestStream()
    9. stream.Write(jsonDataBytes, 0, jsonDataBytes.Length)
    10. stream.Close()
    11. Dim response = req.GetResponse().GetResponseStream()
    12. Dim reader As New StreamReader(response)
    13. Dim res = reader.ReadToEnd()
    14. reader.Close()
    15. response.Close()
    16. Return res
    17. End Function


    Ich rufe die Function mit folgenden Parametern auf:

    VB.NET-Quellcode

    1. Dim data = Encoding.UTF8.GetBytes(json)
    2. Dim response As String = SendRequest(New Uri("https://authserver.mojang.com"), data, "application/json", "POST")


    Wie gesagt ich bekomme beim Response (Dim response = req.GetResponse().GetResponseStream()) immer die Fehlermeldung (405) Unzulässige Methode

    Kann jemand mir sagen wo das Problem? ;)
    Danke im Vorraus.
    Bilder
    • HTTPWebRequest Fehlermeldung.JPG

      47,58 kB, 970×268, 179 mal angesehen
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯

    3daycliff schrieb:

    Setz mal den Pfad bei der URL ("Endpoint"), also z.B. https://authserver.mojang.com/authenticate


    Wenn ich req.Credentials weglasse dann bekomme ich folgenden Fehler: "Die Verbindung zum Remoteserver konnte nicht hergestellt werden."
    Ansonsten bekomme ich "(403) Unzulässig"

    Manawyrm schrieb:

    Das geht merkwürdigerweise nicht. Der Server antwortet nur wenn das Protokoll HTTPS ist.

    OK, das kann gut sein, ist aus Sicherheitsgründen natürlich verständlich.

    Dann installier dir "Fiddler2", damit kannst du auch SSL aufmachen und mal gucken, was da klemmt.


    Probiere ich gleich aus.


    EDIT: Ok Fiddler2 sagt mir beim Reponse das der Server ne Fehlermeldung gesendet hat die sagt Username ist falsch (Ich habe absichtlich falsches Passwort angeben. Das heißt das die 403 Fehlermeldung kommt is ja klar. Hat sich also erledigt. Danke ;)
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „KaskadekingDE“ ()

    Prima.
    Kurz angemerkt: Du kannst dir in diesem Fall in einem Try-Catch-Konstrukt ein Argument vom Typ "WebException" holen und dir mit

    VB.NET-Quellcode

    1. WebResponse response = e.Response

    deinen HTTP-Response/deinen genauen Fehler holen ;)

    Viele Grüße,
    Manawyrm

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manawyrm“ ()

    Manawyrm schrieb:

    Prima.
    Kurz angemerkt: Du kannst dir in diesem Fall in einem Try-Catch-Konstrukt ein Argument vom Typ "WebException" holen und dir mit

    VB.NET-Quellcode

    1. WebResponse response = e.Response

    deinen HTTP-Response/deinen genauen Fehler holen ;)

    Viele Grüße,
    Tobias


    OK, danke ;)
    KaskadekingDE on GitHub :)
    Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

    Who cares? ¯\_(ツ)_/¯