TsgcHTTP3Client › Methoden › Post

Post Methode

Sendet eine synchrone HTTP/3-POST-Anfrage mit einem Anfrage-Body.

Syntax

Post(const aURL, aData: string; const aContentType: string): string String-Überladung

function Post(const aURL: string; const aData: string;

  const aContentType: string = 'application/x-www-form-urlencoded'): string; overload;
NameTypBeschreibung
aURLconst stringAbsolute URL der Zielressource.
aDataconst stringAnfrage-Body. Er wird vor dem Senden im HTTP/3-DATA-Frame als UTF-8 kodiert.
aContentTypeconst stringWert des content-type-Anfrage-Headers. Standardwert ist application/x-www-form-urlencoded.

Vom Server empfangener Antworttext, als String dekodiert. (string)

Post(const aURL: string; const aSource, aResponseContent: TStream) Stream-Überladung

procedure Post(const aURL: string; const aSource: TStream;

  const aResponseContent: TStream); overload;
NameTypBeschreibung
aURLconst stringAbsolute URL der Zielressource.
aSourceTStreamStream, der vollständig ab Position 0 gelesen und als Request-Body gesendet wird. Darf nil sein, um einen leeren Body zu senden.
aResponseContentTStreamStream, der den Antwort-Body empfängt.

Keine. Der Antwort-Body wird nach aResponseContent geschrieben.

Hinweise

Der Aufruf blockiert den aufrufenden Thread, bis die vollständige Antwort empfangen wurde. Wenn der Client noch nicht verbunden ist, wird die URL verwendet, um zuerst die QUIC-Verbindung zu öffnen. Für eine nicht-blockierende Anfrage verwenden Sie PostAsync, das die Antwort über OnResponse liefert.

POST übermittelt Daten an die Zielressource, typischerweise um einen Datensatz anzulegen oder eine serverseitige Aktion auszulösen. Die String-Überladung kodiert aData als UTF-8 und setzt aContentType standardmäßig auf application/x-www-form-urlencoded, übergeben Sie daher application/json ausdrücklich, wenn Sie JSON senden.

Die Stream-Überladung sendet immer content-type: application/octet-stream. Sie akzeptiert keinen Parameter aContentType, verwenden Sie daher die String-Überladung, wenn der Server einen bestimmten Medientyp verlangt.

Beispiel



vBody := '{"name": "John"}';

vResponse := oClient.Post('https://api.example.com/v1/users', vBody,

  'application/json');

Zurück zu Methoden