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 */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Net.HttpClient.pas System.Net.HTTPClient.hpp |
System.Net.HttpClient | THTTPClient |
説明
POST
HTTP 要求メソッドを使用して、指定された URL に HTTP 要求を送信し、サーバーが応答を送信するのを待って、HTTP 応答 をサーバーへ返します。
送信するデータを指定するには、次のいずれかを行います。
- ローカル ファイルの内容を送信する場合は、そのファイルのローカル パスを
ASourceFile
として指定します。 - 文字列リストの内容を送信するには、TStrings のインスタンスを
ASource
とし、そしてもし文字列が UTF-8 エンコードでない場合には、TEncoding のインスタンスをAEncoding
に設定します。 - ストリームの内容を送信するには、TStream のインスタンスを
ASource
として、まず TStream.Position を 0 に設定します。 - HTML 4 標準準拠のMIME マルチパート メッセージとしてエンコードされたフォーム データを送信するには、TMultipartFormData のインスタンスを
ASource
とします。
HTTP クライアントにより応答データ全体がダウンロードされるのを待つのではなく、HTTP クライアント側でターゲット サーバーから応答データをダウンロードしながら応答データを受信する場合は、AResponseContent
パラメータを使用して、ダウンロードされたデータを受け取るストリームを指定します。あるいは、HTTP クライアントにより応答データ全体がダウンロードされるのを待って、Get が返す応答オブジェクトの ContentStream プロパティを取得することもできます。
データを着信したものから順に受信するか、データ全体が得られるのを待つかに関係なく、OnReceiveData イベントを処理して、応答データのダウンロードの進行状況を追跡することができます。
AHeaders
を使用すると、カスタム HTTP 要求ヘッダーを HTTP 要求に含めることができます。
Post は、HTTP 要求がリダイレクトの最大数に達すると、ENetHTTPRequestException を発生させます。
関連項目
- 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