HttpWebRequest

  • VB.NET
  • .NET 4.5

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Pid00m.

    HttpWebRequest

    Hallo,

    ich möchte gerne ein HttpWebRequest mit POST ausführen.
    Irgendetwas stimmt mit meine Code nicht. Kann mir da bitte jemand helfen?

    VB.NET-Quellcode

    1. Dim Request As HttpWebRequest = CType(WebRequest.Create(URL & " -Method " & " -Body " & LINK & " -Headers "), HttpWebRequest)
    2. Request.Method = "POST"
    3. Request.Headers.Add(Authorization, "Bearer " & KEY)
    4. Dim Response As HttpWebResponse = Request.GetResponse()
    5. Response.Close()


    mfg
    Willkommen im Forum. :thumbup:

    Pid00m schrieb:

    Irgendetwas stimmt mit meine Code nicht
    Wie äußert sich das?
    Hast Du Dich davon überzeugt, dass Deine URL die richtige Syntax hat?
    Kann es sein, dass da keine Leerzeichen drinne sein dürfen?
    Was passiert, wenn Du die komplette URL m FireFox eingibst oder welchen IE Du verwendest?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. Dim LINK As String = "Keyword =" & "Test1" & "," & "Address =" & ADRESS
    2. Dim KEY As String = "fpZ8IRM6bLmiqDHM9SYSXHFNjp2sGrjBqg7K8dKe108ByvfskYYL4fwrF7lUFLTc-5lEUt5FY_42z5qzA31C5goIPH9y0wNGL-fqDzTTEX_aVUzua7KZPliv6h2MxjYFnQ"
    3. Dim Authorization As String = "Bearer " & KEY
    4. Dim URL As String = "https://api.program.com/interfaces/public/operation"



    System.ArgumentException: "Der angegebene Wert besitzt ungültige HTTP-Headerzeichen.
    Parametername: name"

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

    @Pid00m Steht doch da: Falsche Syntax.

    RodFromGermany schrieb:

    Was passiert, wenn Du die komplette URL m FireFox eingibst oder welchen IE Du verwendest?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich kenn mich mit der VB Syntax nicht so gut aus, aber wenn ich das richtig sehen baust du da eine URL zusammen die wie folgt aussieht:

    Quellcode

    1. https://api.program.com/interfaces/public/operation -Method -Body Keyword =Test1,Address =??? -Headers

    Das sieht für mich nicht nach einer validen URL für den Endpunkt aus.
    Auch ist dein Request.Headers.Add(Authorization, "Bearer " & KEY) sehr komisch, denn du fügst am ende folgenden Header hinzu:

    Quellcode

    1. Request.Headers.Add("Bearer fpZ8IRM6bLmiqDHM...", "Bearer fpZ8IRM6bLmiqDHM...")

    Auch das sieht nicht richtig aus, wenn wäre das wohl eher Request.Headers.Add("Authorization", "Bearer fpZ8IRM6bLmiqDHM...").

    Ich würde auch nicht mehr auf HttpWebRequest setzten, sondern den HttpClient benutzten (auch Microsoft empfiehlt das: "We don't recommend that you use HttpWebRequest for new development. Instead, use the System.Net.Http.HttpClient class.")..
    @Pid00m Was erwartet die Gegenseite von Dir?
    Ich wiederhole mich ungern.
    Diese Frage hast Du immer noch nicht beantwortet:

    RodFromGermany schrieb:

    Was passiert, wenn Du die komplette URL m FireFox eingibst oder welchen IE Du verwendest?
    Wenn ich jetzt keine Antwort darauf bekomme, bin ich hier raus. X(
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ok,
    aus dem browser heraus kommt folgende meldung

    Bad Request - Invalid URL
    HTTP Error 400. The request URL is invalid.

    chrome browser

    damit habe ich deine frage beantwortet

    leider bringt es mich nicht weiter
    fakt ist, ich muss eine url im post mit api-key aufrufen und parameter übergeben.

    Pid00m schrieb:

    damit habe ich deine frage beantwortet
    Ich hatte gehofft, eine präzisere Fehlermeldung vom Browser zu erhalten.
    Fang an und nimm alle Leerzeichen aus Deinem String raus.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    danke schon mal bis hier hin.

    leerzeichen sind raus, nun bekomme ich folgenden fehler:

    System.Net.WebException: "Der Remoteserver hat einen Fehler zurückgegeben: (411) Länge erforderlich."

    anders herum, kann mir evtl jemand folgenden code in vb übersetzen?

    C#-Quellcode

    1. {
    2. "Start": "2020-03-28T18:47:58.546Z",
    3. "End": "2020-03-28T18:47:58.546Z",
    4. "Status": "new",
    5. "AlarmEnabled": true,
    6. "Keyword": "string",
    7. "Address": "string",
    8. "Position": {
    9. "Latitude": 0,
    10. "Longitude": 0
    11. },
    12. "Facts": "string",
    13. "Ric": "string",
    14. "Number": "string",
    15. "Properties": [
    16. {
    17. "Key": "string",
    18. "Value": "string"
    19. }
    20. ],
    21. "AlarmedVehicles": [
    22. {
    23. "Id": 0,
    24. "RadioIdentifier": "string"
    25. }
    26. ]
    27. }


    XML-Quellcode

    1. curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
    2. "Start": "2020-03-28T18:47:58.546Z", \
    3. "End": "2020-03-28T18:47:58.546Z", \
    4. "Status": "new", \
    5. "AlarmEnabled": true, \
    6. "Keyword": "string", \
    7. "Address": "string", \
    8. "Position": { \
    9. "Latitude": 0, \
    10. "Longitude": 0 \
    11. }, \
    12. "Facts": "string", \
    13. "Ric": "string", \
    14. "Number": "string", \
    15. "Properties": [ \
    16. { \
    17. "Key": "string", \
    18. "Value": "string" \
    19. } \
    20. ], \
    21. "AlarmedVehicles": [ \
    22. { \
    23. "Id": 0, \
    24. "RadioIdentifier": "string" \
    25. } \
    26. ] \
    27. }' 'https://connectapi.feuersoftware.com/interfaces/public/operation'

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

    @Pid00m Kommen wir zur nächsten noch nicht beantworteten Frage:

    RodFromGermany schrieb:

    Was erwartet die Gegenseite von Dir?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!