TsgcHTTP2ClientMethoden › Post

Post Methode

Führt ein synchrones HTTP/2-POST durch, lädt einen Stream hoch und blockiert, bis die Antwort empfangen wird.

Überladungen

Overload 1

Syntax

function Post(const aURL: string; const aSource: TStream): string;

Parameter

NameTypBeschreibung
aURLconst stringAbsolute URL, die die POST-Anfrage empfängt.
aSourceconst TStreamStream, der den hochzuladenden Anfragetext enthält. Seine Size legt das content-length-Pseudo-Header fest.

Rückgabewert

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

Hinweise

Verwenden Sie diese Überladung für Textaustauschvorgänge wie JSON oder Formulardaten, bei denen die vollständige Antwort als String zurückgegeben werden kann. Konfigurieren Sie Request.ContentType vor dem Aufruf, um den Medientyp des Bodys anzukündigen.

Beispiel

oBody := TStringStream.Create('{"name":"John"}');
try
  oClient.Request.ContentType := 'application/json';
  vResponse := oClient.Post('https://api.example.com/users', oBody);
finally
  oBody.Free;
end;

Überladung 2

Syntax

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

Parameter

NameTypBeschreibung
aURLconst stringAbsolute URL, die die POST-Anfrage empfängt.
aSourceconst TStreamStream, der die Anfrage-Payload liefert.
aResponseContentconst TStreamStream, der die rohen Antwort-Bytes des Servers empfängt; nützlich für binäre oder große Antworten.

Hinweise

Vollständig stream-basierte Variante: Sowohl das Anfrage-Payload als auch die Server-Antwort werden über TStream-Instanzen verarbeitet, wodurch der Overhead einer String-Konvertierung auf beiden Seiten vermieden wird. Bevorzugen Sie diese Überladung für Datei-Uploads, die binäre Payloads zurückgeben.

Beispiel

oIn := TFileStream.Create('upload.bin', fmOpenRead);
oOut := TMemoryStream.Create;
try
  oClient.Post('https://api.example.com/upload', oIn, oOut);
finally
  oOut.Free;
  oIn.Free;
end;

Zurück zu Methoden