Main Content

matlab.net.http.RequestMessage クラス

パッケージ: matlab.net.http
スーパークラス: matlab.net.http.Message

HTTP 要求メッセージ

説明

RequestMessage クラスは、サーバーに送信して処理される HTTP 要求メッセージを書式設定するために使用します。メッセージを送信するには send メソッドを使用します。また、メッセージを送信する前に検証するには complete メソッドを使用します。これらのメソッドでは、必要なヘッダー フィールドおよび他のメッセージ プロパティが埋められます。

クラスの属性

Sealed
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

説明

obj = matlab.net.http.RequestMessage は既定値で要求メッセージを作成します。メッセージを送信または完了するとき、既定の Method プロパティは RequestMethod.GET です。

obj = matlab.net.http.RequestMessage(method,header,body) は、1 つ以上のオプションのメッセージ プロパティを指定します。後続の引数を省略し、[] を使って任意のプレースホルダーを指定できます。

obj = matlab.net.http.RequestMessage(requestLine,header,body)RequestLine プロパティを requestLine に設定します。要求行の内容を制御する必要がある場合は、この構文を使用します。たとえば、メッセージを明示的にプロキシに送信するには RequestLine.RequestTarget プロパティを完全な URI に設定します。それ以外の場合、MATLAB はユーザーのプロキシの設定に基づいてプロキシを選択し、send メソッドで RequestTarget を URI の Path プロパティに設定します。

obj = matlab.net.http.RequestMessage(requestLine,header,provider)matlab.net.http.io.ContentProvider からメッセージ本文のデータを取得します。

プロパティ

すべて展開する

要求行。matlab.net.http.RequestLine オブジェクト、またはメソッド、ターゲットおよびプロトコルのバージョンを含む string または文字ベクトルとして指定します。この行は、メッセージを送信するときに、指定したメソッドと URI に基づいて自動的に作成されます。このプロパティを明示的に設定すると、その内容が要求行として使用されます。値は、RequestLine オブジェクト、または解析されて RequestLine オブジェクトに変換される string に設定されることがあります。

例: 'GET HTTP/1.1'

属性:

GetAccess
public
SetAccess
public
Dependent
true

要求メソッド。matlab.net.http.RequestMethod 列挙型、要求メソッドを表す string または文字ベクトルとして指定します。メッセージを送信するには、RequestMessage.Method プロパティまたは RequestLine.Method プロパティを設定します。

例: 'GET'

属性:

GetAccess
public
SetAccess
public
Dependent
true

メッセージ ヘッダー。matlab.net.http.HeaderField オブジェクトまたは HeaderField オブジェクトのベクトルとして指定します。Header プロパティを設定すると、MATLAB® はヘッダーのフィールドをチェックしてメッセージ タイプに対して適切であることを確認します。RequestMessagesend メソッドおよび complete メソッドは、正しい形式の要求になるように必要なヘッダー フィールドを埋めます。

属性:

GetAccess
public
SetAccess
public

メッセージ本文。matlab.net.http.MessageBody オブジェクト、matlab.net.http.io.ContentProvider、または MessageBody コンストラクターで受け入れ可能なデータとして指定します。既定では、Body は空です ([] に設定されます)。Body プロパティを含む要求メッセージは通常、'PUT' または 'POST' などのメソッドを使用し、既定値 'GET' は使用しませんが、この表記は強制されません。

完了したメッセージまたは受信したメッセージで、メッセージに ContentTypeField ヘッダー フィールドがある場合、MessageBody.ContentType プロパティはその値に設定されます。それ以外の場合、ContentType は変更されないか空になります。

属性:

GetAccess
public
SetAccess
public

メッセージが完了しているかどうか。true または false として指定します。true 値はメッセージが完了していることを意味します。

メッセージを検証するメソッド (RequestMessage.sendRequestMessage.complete) は、次を行った後に Completed プロパティを true に設定します。

  • メッセージが有効であることを判別する。

  • 必要なヘッダー フィールドの追加やデータの変換などの処理を完了する。

このプロパティが true の場合、これらのメソッドはメッセージを変更せず、send メソッドはメッセージの有効性をチェックせずにメッセージを送信します。その後にこのメッセージに変更を加えると、Completed プロパティが false に戻されます。

任意のヘッダーとデータを要求メッセージで送信するには、Completedtrue に設定して send メソッドでメッセージが変更されないようにします。引き続き complete メソッドを使用してメッセージを検証できますが、メッセージが有効かどうかにかかわらず send メソッドはメッセージを送信します。

要求メッセージにデータが含まれている (Body.Data プロパティが空でない) 場合、CompletedBody.Payload に生のデータが含まれている場合にのみ、true に設定されます。応答メッセージでは、HTTPOptions.SavePayload プロパティを指定した場合にのみ、ペイロードが設定されます。

属性:

GetAccess
public
SetAccess
public
Transient
true

データ型: logical

メッセージの開始行。matlab.net.http.StartLine オブジェクトとして指定します。

属性:

GetAccess
public
SetAccess
public

メソッド

すべて展開する

すべて折りたたむ

テキストを Web サイトに追加するようにサーバーに要求する HTTP メッセージを構成します。この例では、メッセージの書式設定のみを行い、データの送信はしません。

メッセージ本文に内容を追加します。

data = 'Data to send';
body = matlab.net.http.MessageBody(data);
body.show
Data to send

本文のデータ型を表す Content-Type ヘッダー フィールドを作成します。

contentTypeField = matlab.net.http.field.ContentTypeField('text/plain');

応答メッセージ内で許容されるデータ型を指定する Accept ヘッダー フィールドを作成します。

type1 = matlab.net.http.MediaType('text/*');
type2 = matlab.net.http.MediaType('application/json','q','.5');
acceptField = matlab.net.http.field.AcceptField([type1 type2]);

2 つのヘッダー フィールドを含む要求ヘッダーを作成します。

header = [acceptField contentTypeField];

このメッセージが PUT 要求であることを指定します。

method = matlab.net.http.RequestMethod.PUT;

要求メッセージを作成し、その内容を表示します。

request = matlab.net.http.RequestMessage(method,header,body);
show(request)
PUT
Accept: text/*, application/json; q=.5
Content-Type: text/plain

Data to send

バージョン履歴

R2016b で導入