System.Net.HttpClientComponent.TNetHTTPRequest.Post

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function Post(const AURL: string; const ASourceFile: string; 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++

System::Net::Httpclient::_di_IHTTPResponse __fastcall Post(const System::UnicodeString AURL, const System::UnicodeString ASourceFile, System::Classes::TStream* AResponseContent = (System::Classes::TStream*)(0x0), const System::DynamicArray<System::Net::Urlclient::TNameValuePair> AHeaders = System::DynamicArray<System::Net::Urlclient::TNameValuePair>())/* overload */;
System::Net::Httpclient::_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 */;
System::Net::Httpclient::_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 */;
System::Net::Httpclient::_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.HTTPClientComponent.pas
System.Net.HTTPClientComponent.hpp
System.Net.HttpClientComponent TNetHTTPRequest


説明

HTTP 要求メソッド POST を使って指定の URL に指定のデータと共に HTTP 要求を送信し、サーバーが応答を送信するのを待って、サーバーの HTTP 応答を返します。

送信するデータを指定するには、次のいずれかを行います。

  • ローカル ファイルの内容を送信する場合は、そのファイルのローカル パスを ASourceFile として指定します。
  • 文字列リストの内容を送信する場合は、TStrings のインスタンスを ASource として指定し、文字列が UTF-8 でエンコードされていない場合は、TEncoding のインスタンスを AEncoding として指定します。
  • ストリームの内容を送信する場合は、TStream のインスタンスを ASource として指定します。
  • HTML 4 標準に従う MIME マルチパート メッセージとしてエンコードされたフォーム データを送信する場合は、TMultipartFormData のインスタンスを ASource として指定します。

HTTP クライアントにより応答データ全体がダウンロードされるのを待つのではなく、HTTP クライアント側でターゲット サーバーから応答データをダウンロードしながら応答データを受信する場合は、AResponseContent パラメータを使用して、ダウンロードされたデータを受信するストリームを指定します。あるいは、HTTP クライアントにより応答データ全体がダウンロードされるのを待って、Get から返される応答オブジェクトContentStream プロパティから応答データをストリームとして取得することもできます。

データを着信したものから順に受信するか、データ全体が得られるのを待つかに関係なく、OnReceiveData イベントを処理して、応答データのダウンロードの進行状況を追跡することができます。

AHeaders を使用すると、HTTP 要求にカスタム HTTP 要求ヘッダーを含めることができます。

Post では、HTTP 要求が要求の HTTP クライアントリダイレクト数の上限に達すると、ENetHTTPRequestException 例外が発生します。

関連項目