Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

matlab.net.http.credentialsクラス

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

http要求をするため情报情报

说明

Credentialsクラスは,要求メッセージを送信するための認証資格情報を指定します。Credentialsオブジェクトをhttpoptionsオブジェクト内に指定します。

requestMessage。sendメソッドは情报をしサーバーまたはからのチャレンジに応答しします。。はははAuthenticateFieldヘッダー フィールド内にあり、サーバーまたはプロキシが要求を満たすために受け入れる 1 つ以上の認証スキームを指定します。

动作はスキームによってなりなり。。一般®は,要求 URI に適用される、指定された認証スキームをサポートする資格情報をCredentialsオブジェクトのベクトルで検索します。その後 MATLAB は適切な資格情報をAuthorizationFieldヘッダーに入れて元の要求を再送信します。適用される資格情報が複数ある場合、MATLAB は最も強力なスキーム用の最も特定的なCredentialsオブジェクトを使用します。重複するCredentialsオブジェクトが存在する場合,MATLABは最初のオブジェクトを使用します。

matlabが自动にする认证スキーム确认するに,,AuthenticationSchemeを参照くださいサーバーによって他の要求场合,,要求要求されれたスキームの资格资格情报ををを提供提供状态代码401 または 407 を返します。この場合、適切な応答を自分で実装しなければなりません。

视窗®上の NTLM のように、用户名プロパティとPasswordプロパティが不要なスキームの場合、既定のCredentialsオブジェクトをできます。ののCredentialsとはのプロパティがあり,サポートされるとととととととととににににに适用适用ささます。认证认证ののののの资格资格资格情报情报情报はは,,,ログインログインログインののの际际际保存保存保存保存保存保存保存保存保存保存保存のスキーム使用れる条件制约するには,ScopeRealmなどの追加プロパティを指定します。たとえば、これらの値を設定して、一部の URL には NTLM、他の URL には Kerberos を使用し、それらの URL およびスキームに一致しないサーバーからの認証要求を拒否します。

用户名プロパティおよびPasswordプロパティを要求するスキームで、MATLAB がCredentials,使用てする场合场合场合场合はは结果このオブジェクトしします。。。。。。。。。。。。。ははははははサーバーからからの认证认证认证チャレンジチャレンジを待た待たずずに,,,后続后続するに后続ので,同じまたはのののhttpoptionsオブジェクトに、同じCredentialsオブジェクトを指定ます。

Credentialsオブジェクトはハンドル オブジェクトで、以前に成功した認証に関する情報を内部に蓄積します。したがって、後続のメッセージでその情報を再使用することができます。このオブジェクトを複数のhttpoptionsオブジェクトに插入场合,Credentialsオブジェクトは使用するたびに更新される可能性があります。copyメソッドを使ってCredentialsmatlabははははし可视プロパティのみコピーしし,内部状态ははコピー。。ん。

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

クラスの属性

密封
真的

クラス属性详细については,クラスの属性を参照してください。

作成

说明

obj = matlab.net.http.Credentials(Name,Value)は1 つ以上の名前と値のペアの引数で指定された追加のプロパティを使用して、HTTP 資格情報を作成します。Nameはプロパティ名,价值は対応するです。Name1,Value1,...,NameN,ValueNのように、複数の名前と値のペアの引数を任意の順番で指定できます。未指定のプロパティは既定値に設定されます。

引数を指定せずにこのコンストラクターを呼び出した場合、Credentialsオブジェクトが適用され、すべての URI とすべての認証スキームに認証が許可されます。ただし、このオブジェクトは、ユーザー名前またはパスワードを必要としないスキームでのみ機能します。たとえば、Windows 上では、オブジェクトはログインしたユーザーの資格情報を使用して、NTLM および Kerberos の認証を有効にします。

プロパティ

すべて展開する

資格情報の認証スキーム。matlab.net.http。AuthenticationSchemeオブジェクトのベクトルとして指定します。プラットフォームごとのサポートされるスキームの完全な一覧については、AuthenticationSchemeを参照してください。

Schemeが(既定)のの资格はすべて定义さた认证スキームに适用さます。。

认证の详细は,サーバー认证プロキシ サーバー認証を参照してください。

SchemeBasicのみにれいる场合サーバーサーバー要求かどうどうかにかかわらず,,これらの资格情报がが要求要求ににに适用Basicのみの,认证チャレンジのの余分な取りが回避回避されれます。。ただしがBasic认证をしない,このスキームは用户名プロパティおよびPasswordプロパティをサーバーに不必要に提示することになります。

このプロパティに,Basic以外のまたはスキームに加えてスキームが含まれる场合またはScheme(すべてスキーム许可)のの场合场合ははこれら资格情报がが适用さされる最初最初のメッセージメッセージででで认证认证认证认证情报情报情报情报を送信送信送信送信送信送信しししませんんんmatlab応答する待机ます。応答によりによりが受け取る受け取るスキームスキームがががががががにににに通知通知されますますますます。。次ににCredentials内でリストされ、かつ指定されたScopeプロパティおよびRealmプロパティ(存在する場合) に一致する最も強力なスキームを選択します。同じScopeをもつ同じサーバーへの後続のメッセージには、最初にチャレンジを要求しなくても、適切な認証情報が含まれます。

属性:

GetAccess
public
SetAccess
public

資格情報が適用される URI。matlab.net.URIオブジェクトのベクトル、string または文字ベクトルとして指定します。string はUriコンストラクターで受け入れ可能なもの、またはhost/path/...の形式でなければなりません。

空のScope値、またはこのベクトルの空のHostまたは小路は,すべてのHostプロパティまたは小路プロパティに一致します。信頼されているサーバーのみにアクセスする場合を除き、SchemeBasicに設定されている場合はScopeを空にないでください。の组み合わせにより,ののCredentialsを含むhttpoptionsを使用してアクセスする任意のサーバーに、用户名Passwordが送信されます。

MATLAB はScopeの値と要求メッセージ URI を比較して、これらの資格情報が適用されるかどうかを判別します。要求 URI がこのScopeuiriとのとレベルまたはそれよりレベルパスに同じ同じホストホストをを参照参照参照するする场合,资格资格情报情报ががが适用适用适用さされれますますScopeは,このホスト上のすべてのパスに適用されます。

たとえば、Scopeのホスト名Mathworks.comは,www.tatmou.comおよびnotings.mathworks.comへのに一致し。。Mathworks.com/下载188bet金宝搏products/stateflowUriはwww.tatmou.com/products/stateflow/featuresへの要求に一致しますが、www.tatmou.com/productsへの要求には一致しません。/productsパスは/products/stateflowと同じまたはより深いにありませ。。

ScopeUriのHost港口および小路プロパティのみ使用さます。通常,www.tatmou.comなどのようにHost名のみし。情报ホストのいくつのパスでのみ必要必要なことががわかっているいる小路またはパスの一部を追加します。

属性:

GetAccess
public
SetAccess
public

資格情報の認証レルム。資格情報のレルムを記述する正規表現を含む string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。既定値は空で、すべてのレルムと一致します。このベクトルのいずれかの値が空の string である場合、空または未指定のRealmとのみします正规表现を认证Realm文字列先头末尾にさせるには,^文字または$文字を適宜含めます。

Realmにはテキストがれる,ユーザー入力するとパスワードを知る知ることができますますはははRealm回应AuthenticateFieldで指定します。通常は、このプロパティを空のままにします。サーバーが異なる URI に対して異なるログイン値を要求し、同じサーバー上の異なるレルムに対して異なる資格情報をプログラムで指定する場合、Realmを使用。とパスワード求めるをするは,,このプロパティを设定设定しないないでください。。代わり代わりAuthenticateFieldからRealmプロパティをて,に入力する情报知ら知らますます。

MATLAB はRealmの表現をAuthenticateFieldの認証Realmと比較して、これらの資格情報が適用されるかどうかを判別します。これらのいずれかのレルムを使用して MATLAB で認証が正しく実行されると、MATLAB は認証情報をCredentialsにキャッシュます。これらのCredentialsが適用されるこれ以降のホストとパスへの要求では、このキャッシュされた情報が認証に使用されます。これにより、認証チャレンジのオーバーヘッドや関数GetCredentialsFcnの呼び出しが回避されます。

属性:

GetAccess
public
SetAccess
public

stringまたは。またはまたはベクトル指定しますこのプロパティは,明示明示なな用户名Passwordを要求に适用さ,から资格情报取得するスキームにには适用适用され

用户名プロパティおよびPasswordプロパティを任意の string (空の string も含む) に設定すると、GetCredentialsFcnが指定ない限りこれらの资格がされる要求への认证で用户名が使用されます。このプロパティを[]に设定する,GetCredentialsFcnを指定ばません。そうし,认证が行われ。

コードにを组み込ま场合は,プロパティ空のままにして,GetCredentialsFcnをしユーザー名前をプロンプトをするか别のソースから取得取得。。。

属性:

GetAccess
public
SetAccess
public

認証スキームのパスワード。string または文字ベクトルとして指定します。このプロパティは、明示的な用户名Passwordを要求に适用さ,から资格情报取得するスキームにには适用适用され

用户名プロパティおよびPasswordプロパティを任意の string (空の string も含む) に設定すると、GetCredentialsFcnが指定ない限りこれらの资格がされる要求への认证でPasswordが使用されます。このプロパティを[]に设定しかつGetCredentialsFcnプロパティが存在しない場合、パスワードは指定されません。

コードに组み込ま场合は,この空のままにし,GetCredentialsFcnを指定してユーザーにパスワードを求めるプロンプトを表示するか、別のソースから取得します。

属性:

GetAccess
public
SetAccess
public

认证用の用户名Passwordを返す关数として指定しますは,ユーザー名とパスワードをを指定するようように要求するするスキームスキームスキームに

MATLAB は関数GetCredentialsFcnを呼び出し応答に使用名前とパスワードをしますますます。。。。Credentials用户名プロパティまたはPasswordプロパティを无视ます。

GetCredentialsFcnの关数は,のとおりです。

[用户名,密码] = getCredentialSFCN(CREAD,REQ,RESS,AUTHINFO,forefusername,prevaspasswd)

ここで、引数は次のように指定されます。

  • 信用- このCredentialsオブジェクトに対するハンドル。

  • req- この认证引き起こし,最后送信さた要求要求。

  • 分别地-AuthenticateFieldを含むサーバーからの応答メッセージ。信用。Schemeプロパティが唯一のオプションとしてBasicに设定れている引数引数分别地は空场合があり。。

  • authInfo(オプション) — これらの資格情報を一致させるために MATLAB が選択するAuthenticateField.convertメソッドによって返されるAuthInfoオブジェクトのベクトル内の 1 つの要素。この配列の各オブジェクトにはSchemeと少なくとも 1 つのRealmパラメーターがあります。

  • 预先名称,,,,PrevPasswd(オプション) - 最初はの。空,これら引数は,关数GetCredentialsFcnののでサーバーによりされた戻り値です情报情报をを求める求めるプロンプトプロンプトプロンプトをを表示しないない场合场合,,これらこれらのの値値をを,,返す返す返す返す予定のと比较比较比较比较する可能があります。用户名[]matlabははは认证失败をます。。情报情报をを求める求める求めるプロンプトプロンプトをする场合はは,これらこれらのの引数を指定指定指定するするはははませんんんんんんんんんん情报を入力かを选択でき。。

  • 用户名-使用するユーザー名。サーバーがパスワードのみを要求し、ユーザー名を要求しない場合、用户名を空のstring('') に設定します。用户名の値が[]の場合、認証が失敗したことを示します。

  • password- 使用するパスワード。

关数GetCredentialsFcnを実装してCredentials用户名プロパティとPasswordプロパティの両方空空すればばこれら値プログラムプログラムに组み込まずずずににプロンプ​​トプロンプトプロンプトプロンプトをを実装ししてユーザーユーザーユーザーからからからからから値値値値をAuthinfo.Realmパラメーターをします。,,用户名プロパティを設定してパスワードのみを要求する便利な方法もあります。プロンプトには、既存の用户名または预先名称が設定されていればこれを表示し、ユーザーが変更できるようにします。

关数GetCredentialsFcn信用と要求応答のヘッダーフィールドフィールド情报を确认,どのどのリソースリソースががアクセスアクセス中であるかかを判别判别できます。これによりによりによりにより。一般ユーザーにのコンテキストをせる,,でではAuthinfo.Realmが表示されなければなりません。

Credentialsはハンドルであるため,关数GetCredentialsFcnはユーザー名とパスワードを引数信用格纳し以降要求では关数を再び呼び出すことなくこのこのオブジェクトオブジェクトオブジェクトををを使用使用使用。。。ますますますますますますますますますますますますははははははは以降のの要求にに适用适用适用するするするするする,,,成功成功はこれらを使用する要求要求名パスワードパスワードが适用されるかどうどうかを常に常に判别できるできるできるとと

GetCredentialsFcnがユーザーに空の配列[](空の string''ではない) を返した場合、認証は拒否されており、MATLAB はrequestMessage。send呼び出し侧応答メッセージサーバー认证のの返し返します。は,,ユーザープロンプトプロンプトがががが実装実装実装実装ささされれれているいるいるときときでででで预先名称PrevPasswdが,返す名前およびパスワードと同一の場合、名前とパスワードをプログラムで提供するときに[]を返さなければなりません。この値は、資格情報が受け入れられず、代替方法がないことを示します。そうしないと、関数getCredentaislfcnを缲り返し无限が発生场合があり。。

属性:

GetAccess
public
SetAccess
public

データ型:function_handle

すべて折りたたむ

適切なサーバーにのみ送信される資格情報を作成します。

importmatlab.net.http.credentials范围= uri(uri'http://my.server.com');信用s = Credentials('Username',,,,'John',,,,'Password',,,,'秘密',,,,'范围',范围);选项= httpoptions('Credentials',,,,信用s);

メッセージを送信します。サーバーが認証を要求する場合,トランザクションには複数のメッセージ交換が含まれます。

resp = requestMessage()。发送(范围,选项);。。。

次に、同じ資格情報を含むオプションを再利用します。資格情報は既に正常に使用されているため、このトランザクションでは 1 つのメッセージが必要になります。

分别地= RequestMessage().send(scope,options)

既定値としてCredentialsオブジェクトの用户名プロパティを使用して、資格情報を求めるプロンプトを表示する関数を作成します。MATLAB はこの関数を呼び出して認証応答に使用する名前とパスワードを取得します。

关数getMyCredentialsを作成し。

功能[u,p] = getMyCredentials(cred,req,resp,authInfo) prompt = [“用户名:”"Password:"];defans = [cred.username“”];标题=“需要的证书”+ getParameter(authinfo,'领域');答案= inputdlg(提示,标题,[1,60],defans,'上');如果isempty(答案)u = [];p = [];别的u = answer{1}; p = answer{2};结尾结尾

要求メッセージ作成します。

cred = matlab.net.http.credentials('GetCredentialsFcn',,,,@getMyCredentials); options = matlab.net.http.HTTPOptions('Credentials',,,,信用);req= matlab.net.http.RequestMessage;

メッセージをhttpbin.orgに送信します。

URI ='httpbin.org/basic-auth/user/passwd';RESS = REQ.SEND(URI,选项)

任意のテキストを入力します。終了するには[キャンセル]を选択し。

R2016Bで导入