TsgcHTTP2Client › Methods › Post
Effectue un POST HTTP/2 synchrone, en téléchargeant un flux et en attendant jusqu'à ce que la réponse soit reçue.
function Post(const aURL: string; const aSource: TStream): string;
| Nom | Type | Description |
|---|---|---|
aURL
| const string | URL absolue qui recevra la requête POST. |
aSource | const TStream
| Flux contenant le corps de la requête à télécharger. Sa Size définit le pseudo-en-tête content-length.
|
Corps de la réponse reçu du serveur décodé sous forme de chaîne. (string)
Utilisez cette surcharge pour les échanges textuels tels que JSON ou les données de formulaire où la réponse complète peut être renvoyée sous forme de chaîne. Configurez Request.ContentType avant d'appeler pour annoncer le type de média du corps.
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);
| Nom | Type | Description |
|---|---|---|
aURL
| const string | URL absolue qui recevra la requête POST. |
aSource | const TStream
| Flux fournissant la charge utile de la requête. |
aResponseContent | const TStream
| Flux qui recevra les octets de réponse bruts du serveur ; utile pour les réponses binaires ou volumineuses. |
Variante entièrement basée sur les flux : la charge utile de requête et la réponse du serveur sont toutes deux gérées via des instances TStream, évitant le coût d'une conversion de chaîne de chaque côté. Préférez cette surcharge pour les téléchargements de fichiers qui retournent des charges utiles binaires.
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;