matlab.net.http.MessageBody クラス
パッケージ: matlab.net.http
HTTP メッセージの本文
説明
MessageBody
オブジェクトには HTTP メッセージの本文が含まれています。要求メッセージでは、Body
プロパティをデータ、またはデータを含む MessageBody
オブジェクトに設定します。応答メッセージでは、このオブジェクトには受信したデータが含まれます。
メッセージ データは 2 つのプロパティで表されます。Payload
プロパティには、ネットワークで送受信した生のバイトが含まれています。Data
プロパティには、Payload
が MATLAB® タイプとして含まれています。これら 2 つのプロパティのいずれかのみが設定されることがよくあります。
作成
MessageBody
オブジェクトには HTTP メッセージの本文が含まれています。要求メッセージでは、Body
プロパティをデータ、またはデータを含む MessageBody
オブジェクトに設定します。応答メッセージでは、このオブジェクトには受信したデータが含まれます。
メッセージ データは 2 つのプロパティで表されます。Payload
プロパティには、ネットワークで送受信した生のバイトが含まれています。Data
プロパティには、Payload
が MATLAB タイプとして含まれています。これら 2 つのプロパティのいずれかのみが設定されることがよくあります。
プロパティ
Data
— メッセージ データ
uint8
ベクトルまたは配列 | 文字配列 | string | 構造体配列 | イメージ データ | XML DOM | オーディオ データ | table
メッセージ データ。以下の MATLAB データ型のいずれかとして指定します。変換の詳細については、HTTP データ型の変換を参照してください。
uint8
ベクトル — 変換されないData
。文字配列またはスカラー string — Content-Type ヘッダーのメディア タイプとその charset 属性に基づいて変換される
Data
。構造体配列 —
webread
およびwebwrite
を使用して JSON 文字列から、または JSON 文字列に変換されるData
。イメージ —
imread
およびimwrite
を使用してイメージから、またはイメージに変換されるData
。XML DOM —
xmlread
およびxmlwrite
を使用して string から、または string に変換されるData
。オーディオ データ —
audioread
およびaudiowrite
を使用して変換されるData
。table —
readtable
およびwritetable
を使用して変換されるData
。他のタイプの配列または cell 配列 —
jsonencode
およびjsondecode
を使用して JSON から、または JSON に変換されるData
。
要求メッセージでは、Data
プロパティは uint8
ペイロードに変換される前の MATLAB データです。データ変換は RequestMessage
の send
メソッドまたは complete
メソッドを呼び出すと発生します。変換は、メッセージで指定する Content-Type と Data
のタイプによって異なります。Content-Type を指定しない場合、send
メソッドおよび complete
メソッドはデータからタイプを推測し、適切な ContentTypeField を要求メッセージに追加します。
応答メッセージでは、Data
はサーバーで指定された Content-Type に基づいて MATLAB タイプに変換された uint8
ペイロードを表します。変換に失敗した場合、Data
は空のままで、生のデータが Payload
プロパティに示されます。
応答 Payload
の自動変換を抑制するには、HTTPOptions.ConvertResponse
プロパティを false
に設定します。その場合、Data
には文字データの string、またはバイトの uint8
ベクトルのいずれかが含まれます。
属性:
GetAccess | public |
SetAccess | public |
Dependent | true |
ContentType
— データの Content-Type
MediaType
オブジェクト
Data
プロパティの Content-Type。読み取り専用の matlab.net.http.MediaType
オブジェクトとして指定します。このプロパティは、Data
プロパティのコンテンツをペイロードから、またはペイロードに変換する方法を決定します。Content-Type に charset 属性のある MediaType
が含まれる場合、charset がエンコードを決定します。詳細については、Internet Engineering Task Force (IETF®) Web サイトで RFC 2616、セクション 14.17 の Content-Type を参照してください。
このプロパティの値は、通常、この MessageBody
を含むメッセージの Content-Type フィールドで convert
を呼び出した結果と同じです。
ContentType
は要求メッセージでは設定しません。MessageBody
オブジェクトを作成するとき、このプロパティは空になります。MessageBody
を要求メッセージにコピーすると、メッセージに ContentTypeField
の値がある場合、ContentType
はこれに設定されます。RequestMessage
の send
メソッドおよび complete
メソッドは、要求メッセージの Data
のタイプと ContentTypeField
の値に基づいて ContentType
を設定します。
応答メッセージでは、ContentType
はメッセージの ContentTypeField
に基づいています。
属性:
GetAccess | public |
SetAccess | public |
Transient | true |
ContentCoding
— ペイロードの Content-Encoding
string
このプロパティは、ResponseMessage
の Payload
プロパティがエンコードされていることを示すために設定されます。ContentCoding
が設定されると、ペイロードでは何の処理も行われず、Data
プロパティは空になります。
MATLAB は、ペイロードが gzip
や deflate
などのサポートする圧縮アルゴリズムを使ってエンコードされたメッセージを受信すると、他の変換を行う前にこのペイロードを自動的にデコードします。正常にデコードされると、オプションで、デコードされたペイロードを Payload
に、変換されたペイロードがある場合はこれを Data
に格納します。その場合、このプロパティは空になり、Payload
がエンコードされていないことを示します。
エンコードされたペイロードのデコードに失敗した場合、または HTTPOptions.DecodePayload
プロパティを false
に設定してデコードを抑制した場合、エンコードされたままの未処理のペイロードが Payload
に返され、Data
が空のままになり、ContentCoding
は応答メッセージの Content-Encoding ヘッダー フィールドの値を表す string のベクトルに設定されます。この場合、Payload
をそのまま保存したり (たとえば、ファイルに書き込む)、ContentCoding
で指定された圧縮アルゴリズムに従って処理することができます。たとえば、値が gzip
の場合、データをファイルに書き込んで gunzip
コマンドを使用してデータを処理できます。
属性:
GetAccess | public |
SetAccess | public |
Transient | true |
データ型: string
Payload
— メッセージで送信された生のバイト
空 (既定値) | uint8
ベクトル | スカラー string | 文字ベクトル
メッセージで送信された生のバイト。uint8
ベクトル、スカラー string または文字ベクトルとして指定します。便宜上、要求メッセージでは、Payload
をスカラー string または文字ベクトルに設定できます。MATLAB は値を uint8
ベクトルに変換します。応答メッセージでは、Payload
は常に uint8
ベクトルです。
要求メッセージでは、次のようになります。
スカラー string または文字ベクトルは、
ContentType
プロパティで明示的または暗黙的に指定された charset がある場合はこれを使用して、あるいは何も設定されなかった場合はUTF-8
エンコードを使用して変換されます。異なるエンコードを使用する場合は、たとえば、関数unicode2native
を使用して自分でエンコードし、結果のuint8
ベクトルをPayload
に割り当てます。バイト配列での出力変換を行わない場合、
Data
プロパティではなくPayload
を設定します。代わりにData
を設定すると、RequestMessage.send
に要求または履歴戻り引数を指定する場合はRequestMessage.complete
の戻り値において、HTTPOptions.SavePayload
プロパティを設定する場合はResponseMessage
において、Payload
が送信されたバイトで埋められます。Payload
を設定すると、Data
がクリアされます。Data
およびPayload
の両方が設定されたメッセージを送信すると、Payload
が送信され、Data
は無視されます。send
メソッドまたはcomplete
メソッドで返された応答メッセージと要求メッセージのみが、両方のプロパティを同時に設定することができます。
応答メッセージでは、Payload
は次の場合に受信される生のバイトです。
RequestMessage.send
メソッドで履歴戻り引数を指定する。HTTPOptions.SavePayload
プロパティをtrue
に設定する。Payload
がLogRecord
で示されるメッセージに常に設定される。ペイロードから MATLAB データへの変換が失敗した場合。詳細については、
HTTPException.History
プロパティをチェックしてください。
属性:
GetAccess | public |
SetAccess | public |
Dependent | true |
メソッド
パブリック メソッド
show | 書式設定されたバージョンのメッセージ本文データを表示または返す |
特殊な演算子と関数
次のメソッドは、MATLAB の標準の演算子および関数を、このクラスのオブジェクト用に特殊化したものです。
string | string としての Data プロパティ。診断またはデバッグに使用します。
|
char |
|
バージョン履歴
R2016b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)