System.Net.HttpClient.THTTPClient.Post

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function Post(const AURL: string; const ASourceFile: string; const AResponseContent: TStream = nil; const AHeaders: TNetHeaders = nil): IHTTPResponse; overload;
function Post(const AURL: string; const ASource: TStrings; const AResponseContent: TStream = nil;  const AEncoding: TEncoding = nil; const AHeaders: TNetHeaders = nil): IHTTPResponse; overload;
function Post(const AURL: string; const ASource: TStream; const AResponseContent: TStream = nil;  const AHeaders: TNetHeaders = nil): IHTTPResponse; overload;
function Post(const AURL: string; const ASource: TMultipartFormData; const AResponseContent: TStream = nil;  const AHeaders: TNetHeaders = nil): IHTTPResponse; overload;

C++

_di_IHTTPResponse __fastcall Post(const System::UnicodeString AURL, const System::UnicodeString ASourceFile, System::Classes::TStream* const AResponseContent = (System::Classes::TStream*)(0x0), const System::DynamicArray<System::Net::Urlclient::TNameValuePair> AHeaders = System::DynamicArray<System::Net::Urlclient::TNameValuePair>())/* overload */;
_di_IHTTPResponse __fastcall Post(const System::UnicodeString AURL, System::Classes::TStrings* const ASource, System::Classes::TStream* const AResponseContent = (System::Classes::TStream*)(0x0), System::Sysutils::TEncoding* const AEncoding = (System::Sysutils::TEncoding*)(0x0), const System::DynamicArray<System::Net::Urlclient::TNameValuePair> AHeaders = System::DynamicArray<System::Net::Urlclient::TNameValuePair>())/* overload */;
_di_IHTTPResponse __fastcall Post(const System::UnicodeString AURL, System::Classes::TStream* const ASource, System::Classes::TStream* const AResponseContent = (System::Classes::TStream*)(0x0), const System::DynamicArray<System::Net::Urlclient::TNameValuePair> AHeaders = System::DynamicArray<System::Net::Urlclient::TNameValuePair>())/* overload */;
_di_IHTTPResponse __fastcall Post(const System::UnicodeString AURL, System::Net::Mime::TMultipartFormData* const ASource, System::Classes::TStream* const AResponseContent = (System::Classes::TStream*)(0x0), const System::DynamicArray<System::Net::Urlclient::TNameValuePair> AHeaders = System::DynamicArray<System::Net::Urlclient::TNameValuePair>())/* overload */;

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.Net.HttpClient.pas
System.Net.HTTPClient.hpp
System.Net.HttpClient THTTPClient


Description

Envoie une requête HTTP à l'URL spécifiée avec les données spécifiées en utilisant la méthode de requête HTTP POST, attend une réponse du serveur, et renvoie la réponse HTTP du serveur.

Pour spécifier les données à envoyer, effectuez l'une des actions suivantes :

  • Pour envoyer le contenu d'un fichier local, spécifiez le chemin local de ce fichier dans ASourceFile.
  • Pour envoyer le contenu d'une liste de chaînes, fournissez votre instance de TStrings dans ASource, et si vos chaînes ne sont pas encodées en UTF-8, fournissez une instance de TEncoding dans AEncoding.
  • Pour envoyer le contenu d'un flux, fournissez votre instance de TStream dans ASource. Assurez-vous de définir auparavant TStream.Position sur 0.
  • Pour envoyer les données de fiche encodées en tant que message multi-partie MIME suivant le standard HTML 4, fournissez votre instance de TMultipartFormData dans ASource.

Si vous souhaitez recevoir les données de la réponse au fur et à mesure que votre client HTTP télécharge les données depuis le serveur cible, au lieu d'attendre qu'il télécharge l'intégralité des données, utilisez le paramètre AResponseContent pour spécifier un flux afin de recevoir les données téléchargées. Vous pouvez également attendre que votre client HTTP télécharge l'intégralité des données de la réponse, et obtenir ces données sous la forme d'un flux à partir de la propriété ContentStream de l'objet réponse que Get renvoie.

Quelle que soit la méthode de réception des données (au fur et à mesure du téléchargement ou en attendant la disponibilité de l'intégralité des données), vous pouvez gérer l'événement OnReceiveData pour suivre la progression du téléchargement des données de la réponse.

Utilisez AHeaders pour inclure des en-têtes de requête HTTP personnalisés dans votre requête HTTP.

Post déclenche une exception ENetHTTPRequestException si la requête HTTP atteint le nombre maximal de redirections.

Voir aussi