HTTPRequestMemory()
Syntax
Ergebnis = HTTPRequestMemory(Typ, URL$ [, *Daten, Datengröße [, Flags [, Header()]]])Beschreibung
Sendet eine HTTP-Anfrage ("HTTP request") mit optionalen Binär-Daten. Falls nur Text-Daten gesendet werden müssen, kann HTTPRequest() verwendet werden. Dieser Befehl kann die REST Web-API problemlos verarbeiten. FinishHTTP() muss immer aufgerufen werden, nachdem die Anforderung ausgeführt wurde.
Parameter
Typ Der Typ der Anfrage. Dies kann einer der folgenden Werte sein: #PB_HTTP_Get : GET Request ('*Daten' Parameter wird ignoriert) #PB_HTTP_Post : POST Request ('*Daten' Parameter wird gesendet, sofern angegeben) #PB_HTTP_Put : PUT Request ('*Daten' Parameter wird gesendet, sofern angegeben) #PB_HTTP_Patch : PATCH Request ('*Daten' Parameter wird gesendet, sofern angegeben) #PB_HTTP_Delete : DELETE Request ('*Daten' Parameter wird gesendet, sofern angegeben)URL$ Die URL, an die die Anfrage gesendet werden soll. *Daten (optional) Der mit der Anfrage zu sendende Speicherpuffer. Datengröße (optional) Die Größe (in Bytes) des mit der Anfrage zu sendenden Speicherpuffers. Flags (optional) Dies kann eine Kombination der folgenden Werte sein: #PB_HTTP_Asynchronous: startet den Download asynchron. #PB_HTTP_NoRedirect : folgt keinen automatischen Weiterleitungen. #PB_HTTP_NoSSLCheck : prüft nicht, ob das SSL-Zertifikat gültig ist (kann zu Testzwecken nützlich sein). #PB_HTTP_HeadersOnly : nur Header abrufen. #PB_HTTP_WeakSSL : zur Unterstützung älterer Server. #PB_HTTP_Debug : um Debug-Informationen in der Konsole auszugeben.Headers() (optional) Eine Map aus Stringpaaren, um zusätzliche Header für die Anforderung anzugeben. Beispiel: NewMap Header$() Header$("Content-Type") = "octectstream" Header$("User-Agent") = "Firefox 54.0" Header$("NoParamHeader") = "" ; Ohne Angabe eines String-Wertes, wird dies ein leerer Parameter sein.
Rückgabewert
Gibt die HTTP-Request-Kennung zurück, wenn der Aufruf erfolgreich initialisiert wurde, andernfalls Null. HTTPInfo() kann verwendet werden, um Informationen zur Anfrage zu erhalten. Wenn #PB_HTTP_Asynchronous angegeben wurde, können HTTPProgress() und AbortHTTP() verwendet werden.
HTTPMemory() kann verwendet werden, um das Ergebnis als Rohpuffer ("raw") abzurufen (der Rohpuffer muss mit FreeMemory() freigegeben werden).
FinishHTTP() muss immer aufgerufen werden, um eine erfolgreich initialisierte HTTP-Anforderung zu beenden, auch wenn der Aufruf synchron erfolgte.
Anmerkungen
Auf Linux muss 'libcurl' installiert sein, damit dieser Befehl funktioniert (die meisten Linux-Distributionen haben es bereits vorinstalliert).
Beispiel
HttpRequest = HTTPRequestMemory(#PB_HTTP_Get, "https://www.google.com") If HttpRequest Debug "StatusCode: " + HTTPInfo(HTTPRequest, #PB_HTTP_StatusCode) Debug "Response: " + HTTPInfo(HTTPRequest, #PB_HTTP_Response) FinishHTTP(HTTPRequest) Else Debug "Request creation failed" EndIf
Siehe auch
HTTPRequest(), URLEncoder(), AbortHTTP()
Unterstützte OS
Alle