TsgcHTTP2Client › Methoden › Post
Führt ein synchrones HTTP/2-POST durch, lädt einen Stream hoch und blockiert, bis die Antwort empfangen wird.
function Post(const aURL: string; const aSource: TStream): string;
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL, die die POST-Anfrage empfängt. |
aSource | const TStream | Stream, der den hochzuladenden Anfragetext enthält. Seine Size legt das content-length-Pseudo-Header fest. |
Vom Server empfangener Antworttext, als String dekodiert. (string)
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.
oBody := TStringStream.Create('{"name":"John"}');
try
oClient.Request.ContentType := 'application/json';
vResponse := oClient.Post('https://api.example.com/users', oBody);
finally
oBody.Free;
end;
procedure Post(const aURL: string; const aSource: TStream; const aResponseContent: TStream);
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL, die die POST-Anfrage empfängt. |
aSource | const TStream | Stream, der die Anfrage-Payload liefert. |
aResponseContent | const TStream | Stream, der die rohen Antwort-Bytes des Servers empfängt; nützlich für binäre oder große Antworten. |
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.
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;