System.Net.HttpClient.THTTPClient.Post
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 */;
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | System.Net.HttpClient.pas System.Net.HTTPClient.hpp |
System.Net.HttpClient | THTTPClient |
Beschreibung
Sendet mit den angegebenen Daten und der HTTP-Anforderungsmethode POST
eine HTTP-Anforderung an den angegebenen URL, wartet auf die Antwort vom Server und gibt die HTTP-Antwort des Servers zurück.
Führen Sie einen der folgenden Schritte aus, um die zu sendenden Daten festzulegen:
- Um den Inhalt einer lokalen Datei zu senden, geben Sie den lokalen Pfad dieser Datei als
ASourceFile
an. - Um den Inhalt einer String-Liste zu senden, geben Sie Ihre Instanz von TStrings als
ASource
an, und falls Ihre Strings nicht in UTF-8 codiert sind, geben Sie eine Instanz von TEncoding alsAEncoding
an. - Um den Inhalt eines Streams zu senden, geben Sie Ihre Instanz von TStream als
ASource
an, legen Sie aber zuerst TStream.Position auf 0 fest. - Um Formulardaten zu senden, die entsprechend dem HTML 4-Standard als mehrteilige MIME-Nachricht codiert sind, geben Sie Ihre Instanz von TMultipartFormData als
ASource
an.
Wenn Sie die Antwortdaten bereits während des Herunterladens vom Zielserver erhalten möchten, anstatt zu warten, bis Ihr HTTP-Client die gesamten Daten heruntergeladen hat, geben Sie mit dem Parameter AResponseContent
einen Stream an, in den die heruntergeladenen Daten aufgenommen werden sollen. Alternativ können Sie auch warten, bis Ihr HTTP-Client die gesamten Antwortdaten heruntergeladen hat, und die Antwortdaten als Stream aus der Eigenschaft ContentStream des Antwortobjekts abrufen, das Get zurückgibt.
Unabhängig davon, wie Sie die Daten erhalten, können Sie mit dem Ereignis OnReceiveData den Fortschritt des Herunterladens der Antwortdaten verfolgen.
Mit AHeaders
können Sie benutzerdefinierte HTTP-Anforderungs-Header in Ihre HTTP-Anforderung einbeziehen.
Post löst eine ENetHTTPRequestException aus, wenn die HTTP-Anforderung die maximale Anzahl von Umleitungen erreicht.
Siehe auch
- System.Net.HttpClient.THTTPClient.Delete
- System.Net.HttpClient.THTTPClient.Get
- System.Net.HttpClient.THTTPClient.Head
- System.Net.HttpClient.THTTPClient.Merge
- System.Net.HttpClient.THTTPClient.Options
- System.Net.HttpClient.THTTPClient.Patch
- System.Net.HttpClient.THTTPClient.Put
- System.Net.HttpClient.THTTPClient.Trace