System.Net.HttpClient.THTTPClient.Post

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

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 を発生させます。

関連項目