主要内容

このページの翻訳は最新ではありませ。

matlab.net.http.io.stringProviderクラス.

パッケージ:matlab.net.http.io.
スーパークラス:matlab.net.http.io.contentProvider.ContentProvider.

马铃薯草字符串を诚信するContentProvider

说明

StringProvider.オブジェクトオブジェクト使使て,优柔寡断でmatlab.®字符串または文字ベクトルを信します。既定の设定では,RequestMessage.body.data.プロパティに字符串または文字が含まれていると,メッセージの内容型フィールドで明显的または暗黙暗黙暗黙暗黙暗黙たた的判别できる场合,プレーンテキストの送信にこのオブジェクトを使用する必要はありません。

请求プロパティプロパティこのオブジェクトオブジェクトを使用し,matlabがヘッダーで内容型型に使用するものと异なる可口のあるあるた使をししさたたをしし。内容提供商コンストラクターコンストラクター,またはCharset.プロパティを设定して指定しますますに含量型が含ま含まれててい场场场场合,このプロバイダーは“文字/平原”ととされた字母集を指定してそれを追加します。

matlab.net.http.io.stringProvider.クラスは处理クラスです。

作作者

说明

Provider = StringProvider.StringProvider.を作物成し,Charset.プロパティプロパティで指定しした値でエンコードされ数据プロパティ内のデータを送信します。これらのプロパティは,このプロバイダーが含まれるメッセージを送信する前に设定します。

Provider = StringProvider(数据Charset.的)StringProvider.を作物成,指定したCharset.でエンコードされた指定した数据をを信します。コンストラクターコンストラクター数据プロパティを数据の値に,Charset.プロパティをCharset.の値に设定します。Charset.引数はオプション。

プロパティ

开する

パブリックプロパティ

送送または,コンストラクターはですです値です,コンストラクターは,コンストラクター値,コンストラクター,コンストラクター,値,値,値値,の値,値,値,値,値,値値,値,は値,は,は,値値,は,は,値値,値値,は値,値値です。

サブクラスの作成ではこのプロパティを新しいデータにいつでも设定できます。getdata.への次の呼び出し,このデータはgetdata.长度引数の値まで変换されます。

属性:

Getaccess.
民众
setaccess.
民众
依赖
真的

エンコードに使われる文章セット。

属性:

Getaccess.
民众
setaccess.
民众
依赖
真的

メッセージまたはパートのヘッダー.1つ以上のmatlab.net.http.headerfield.headerfield.オブジェクトのベクトルとして指定さますます。

このプロパティはクラスのに使使れます。このこのプロパティ,プロバイダーの完全的を呼び出す前にmatlabで设定されます。マルチパートメッセージ户外について,このプロパティは,matlabによってmatlab.net.http.field.genericFields.やや値が空空のフィールド除い除い要求のの内容に初されれれ。内容提供商では,诚信するするデータを示すヘッダーをを追したりたりをの既存ヘッダーヘッダーフィールドパラメーターを追ししたりたりするするをををををををををををををををMultiPartProvider.のプロパティは,matlabによってデリゲートのプロバイダー插入されます変更のされます変更がされで変更がですですで。

マルチパートメッセージ户外で,プロバイダーの完全的メソッドから戻ると,matlabはこのプロパティをて,その内容を要求ののヘッダーにマージしします标题に含まれるフィールドの名称要求にに场合,要求の末尾に加加されます。この标题に含まれるフィールドの姓名要求にに含まれるフィールドとと同じ,どちらどちら价值ももでない结合は,次次のようににににれれれれれれ

  • 要求のフィールドが普通菲尔德のの合,标题のフィールドは无视されます。

  • 要求のフィールドが普通菲尔德でないでない合,标题のフィールドに置き换えられます。

これらの一方またはまたは両の价值が空の含有,要求からフィールドが削除され,メッセージの正常な终了时にも追加されません。

MultiPartProvider.のデリゲートの结合は,この标题のの全体がのヘッダーヘッダーとして使ますれます。マルチパートデリゲートでは,要求にその标题プロバイダーがマルチパートませんかマルチパートであるであるかかであるはmydelegator.MultiPartProvider.

このプロパティがmatlabでで読み取られるの,プロバイダープロバイダー完全的メソッドの呼び出しから戻るときです.matlabで开始が呼び出された后は,この配列に対する変更は无视されます。

クラスを作用成するとき,スーパークラスで完全的をを呼び出す前,この(完全的メソッド内の)标题にサブクラスがフィールドを追加済みの场合があることを认识しておく必要があります。それらのフィールドは残しておいて,同じ名前のフィールドを追加しないようにすることを推奨します。ただし,フィールドへたとえば,既存の含量型フィールドフィールド字母集パラメーターパラメーターがない合,スーパークラスでないでき。

属性:

Getaccess.
民众
setaccess.
民众

for00错误的(既定)のの合,matlabは,メッセージのの函箱

  • matlabで内容の长さがてている综合(メッセージに含量长度フィールドがある,このプロバイダーの预期的ContentLength.メソッドから数値が返された场合),チャンク化して送信するかどうかをMATLABで决定します。

  • matlabで内容の长さわからわからない合(ヘッダーヘッダー含量长度フィールドフィールドないない,预期的ContentLength.MATLAB,MATLABははメッセージを常にチャンクチャンクしててててしチャンクしてててててててててててて

for真的のの合,内容内容の长ささわかっているかどうかかになくなくの长さがチャンクサイズサイズないない场を除き除きてはメッセージをチャンクして送プロパティししこのててプロパティししこのこのプロパティプロパティ真的の结合は,メッセージに含量长度フィールドを含めはなりません.httpではチャンクれたたにににフィールド含めること许可されためですただし,想定されるのです长返し返しいるかをmatlabででするする合成,预期的ContentLength.メソッドメソッドで非ゼロゼロのを返すことができことができ

Matlabででメッセージをチャンクチャンクしてて送するする场,てチャンクのサイズgetdata.で返されたデータの长さと等しくなります。

matlabは,完全的メソッドを呼び出してから开始を呼び出すまでの间にこの値を読み取ります。このフィールドの设定は行いません。

属性:

Getaccess.
民众
setaccess.
民众

送信する要求メッセージ。matlab.net.http.requestmessage.オブジェクトとして指定されます。

身体に配置された优柔寡断RequestMessage.send.send.send.メソッドとRequestMessage.complete.メソッドで设定されます。プロバイダーは,このメッセージを调べて元の要求の内容を确认できます。

デリゲートの场合,このプロパティの値はデリゲーターと同じになります。contentproviders.がデリゲートであるであるは,必ずしも要求メッセージの本文全をするわけため,このこのこのするフィールドためそのでするするに关键词通讯,デリゲートでは,この要求のデータ关键词

|完全的メソッドで标题プロパティにそれらのフィールドを追しします。それらそれらのフィールドに対するに対する处に対するは,完全的の呼び出し元(优柔寡断またはデリゲート元のプロバイダー)RequestMessage.send.send.send.RequestMessage.complete.は,それらのフィールドを优柔寡断标题に常にコピーします。デリゲートデリゲート元のプロバイダーで,フィールドをそれぞれの标题プロパティプロパティにコピーししたりメッセージに插入したりでき(MultiPartProvider.の结合とと)。详细详细は,标题プロパティを参照してください。

このプロパティは読み取り使用です。

属性:

Getaccess. 民众
setaccess. matlab.net.http.requestmessage.

保护プロパティ

このこのプロバイダーのデリゲート先の内容提供商matlab.net.http.io.contentProvider.ContentProvider.オブジェクトとして指定されます。このプロパティは,现处于のデリゲート先のプロバイダー示すために呼び出しのの(デリゲーター)の德比托メソッドで设定されます。现处于のデリゲーションがない场合,値値空です。

このプロパティは完全的メソッドで空に设定さますます。

属性:

Getaccess.
保护
setaccess.
保护

このこのプロバイダーのデリゲート元の内容提供商matlab.net.http.io.contentProvider.ContentProvider.オブジェクトとして指定されます。

このプロパティは,内容提供商たとえば,MultiPartProvider.mydelegator.はは空。このこのプロパティ,デリゲートデリゲート德比托メソッドで设定されます。

属性:

Getaccess.
保护
setaccess.
保护

メソッド

开する

すべて折りたたむ

次のコードコード,内容型“文字/平原”をを用した文列“mytext”をSHIFT_JISエンコードを使用したサーバーに送信するメッセージを准备します。

ctf = contentTypefield(Mediatype('文字/平原''charset''shift_jis');r = requestmessage('放',ctf,stringprovider('mytext'));

このこのでは,ヘッダーに含量型フィールドがないため,コンストラクター函数に基础てStringProvider.によって插入されます。

r = requestmessage('放',stringprovider('mytext''shift_jis'));show(r.complete('www.someurl.com'))
PUT / HTTP / 1.1主机:www.someurl.com内容类型:文本/平原;charset = shift_jis用户代理:MATLAB / 9.2.0.512567(R2017B)连接:关闭日期:FRI,2017年6月20日14:26:42 GMT

この例では,データの変换に使使用ささStringProvider.コンストラクターに指定指定字符集,内容型フィールドの字母集と异なります。StringProvider.は文字セットを既に指定ている既存の内容型フィールドを変更しない,サーバーサーバーデータがshift-jisではなくus-asciiであると想定ますます。

ctf = contentTypefield(Mediatype('文字/平原''charset''美国 -  ascii'));r = requestmessage('放',ctf,stringprovider('mytext''shift_jis'));

この例では,“application / json”の既定の设定はutf-8でありshift_jisとは异なるため,charsetを指定しなかっ含量型フィールドにはmatlabによってcharsetパラメーターパラメーター追追追ますますますます。

ctf = contentTypefield(Mediatype('application / json'));r = requestmessage('放',ctf,stringprovider('mytext''shift_jis'));show(r.complete('www.someurl.com'))
PUT / HTTP / 1.1主机:www.someurl.com内容类型:应用程序/ JSON;charset = shift_jis用户代理:MATLAB / 9.2.0.512567(R2017B)连接:关闭日期:FRI,2017年6月20日14:26:42 GMT

内容型ヘッダーヘッダーフィールドが,charsetがStringProvider.に指定されていない场合,MATLABはヒューリスティックな方法を使用して,データを表现できる “最小の” エンコードを见つけます。そのうちの1つはプラットフォームの既定のエンコードです。この例を的Windowsで実行すると,字符串内内Unicode®文库はWindows-1252范囲范囲てもUS-ASCII范囲外であるため,Windows-1252が使使用ささます。

r = requestmessage('放',stringprovider('€abc'));show(r.complete('www.someurl.com'))
PUT / HTTP / 1.1主机:www.someurl.com内容类型:文本/平原;Charset = Windows-1252用户代理:MATLAB / 9.2.0.512567(R2017B)连接:关闭日期:FRI,2017年6月20日14:26:42 GMT

このこの合,内容型フィールドは字符集をもたない“application / json”を指定し,StringProvider.には何も指定さませんません。“application / json”の既定の字符集はutf-8であるため,StringProvider.ははを使用ししし,内容型フィールドには明显的ににをしません。

ctf = contentTypefield(Mediatype('application / json'));r = requestmessage('放',ctf,stringprovider('mytext'));%使用UTF-8

详细

开する

R2018Aで导入