TsgcHTTP2ClientMethods › Post

Post Méthode

Effectue un POST HTTP/2 synchrone, en téléchargeant un flux et en attendant jusqu'à ce que la réponse soit reçue.

Surcharges

Surcharge 1

Syntaxe

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

Paramètres

NomTypeDescription
aURL const stringURL absolue qui recevra la requête POST.
aSourceconst TStream Flux contenant le corps de la requête à télécharger. Sa Size définit le pseudo-en-tête content-length.

Valeur de retour

Corps de la réponse reçu du serveur décodé sous forme de chaîne. (string)

Remarques

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.

Exemple

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

Surcharge 2

Syntaxe

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

Paramètres

NomTypeDescription
aURL const stringURL absolue qui recevra la requête POST.
aSourceconst TStream Flux fournissant la charge utile de la requête.
aResponseContentconst TStream Flux qui recevra les octets de réponse bruts du serveur ; utile pour les réponses binaires ou volumineuses.

Remarques

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.

Exemple

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;

Retour aux méthodes