Main Content

matlab.net.http.field.AuthorizationField 类

命名空间: matlab.net.http.field
超类: matlab.net.http.HeaderField

HTTP Authorization 或 Proxy-Authorization 标头字段

描述

AuthorizationField 对象将凭据包含在请求消息中,以响应 AuthenticateField 中来自服务器的质询。凭据采用 AuthInfo 对象的形式。有关详细信息,请参阅 Internet Engineering Task Force (IETF®) 网站上的 RFC 7235 section 4.2 Authorization 和 section 4.4 Proxy-Authorization。

在以下情况下,MATLAB® 会自动创建此字段:

  • 请求消息中的 HTTPOptions.Authenticate 属性为 true(默认值)。

  • 您在 HTTPOptions.Credentials 属性中指定了正确的凭据。

  • MATLAB 支持服务器要求的身份验证方案。

当您禁用自动身份验证或实现不受支持的身份验证协议时,可以显式创建此字段。如果您显式创建此字段,请将 Value 属性设置为有效的授权字符串或 AuthInfo 对象。

要查看发送给服务器进行自动身份验证的 AuthorizationField,请检查已完成的请求或者由 RequestMessage.send 方法返回的历史记录参数。

类属性

Sealed
true

有关类属性的信息,请参阅类属性

创建对象

描述

示例

obj = matlab.net.http.field.AuthorizationField(name,value) 创建一个授权标头字段,并将 Name 属性设置为 name,将 Value 属性设置为 value。如果您禁用了自动身份验证或者要实现不受支持的身份验证协议,可以创建此字段。

属性

全部展开

标头字段名称,指定为 'Authorization''Proxy-Authorization'

属性:

GetAccess
public
SetAccess
public

授权,指定为有效的授权字符串或 matlab.net.http.AuthInfo 对象。

属性:

GetAccess
public
SetAccess
public
Dependent
true

方法

全部展开

示例

全部折叠

此示例说明如何将用户名和密码传递给 Web 服务器。

import matlab.net.*;
import matlab.net.http.*;

httpsUrl = 'https://requestserver.mathworks.com';
cred = Credentials('Scheme', 'Digest', 'Username', 'testName', 'Password', 'testPass');
uri = URI(strcat(httpsUrl, '/assets/computerVision.jpg?authenticate=digest'));
options = HTTPOptions;
options.Credentials = cred;
req = RequestMessage('GET');
[~, completedRequest, ~] = req.send(uri, options);
authorizationField = completedRequest.getFields("Authorization");
disp(authorizationField)
  AuthorizationField with properties:

     Name: "Authorization"
    Value: "Digest username="testName",realm="Digest Authentication",nonce="0.10850025543344421",uri="/assets/computerVision.jpg?authenticate=digest",cnonce="3abc9b6ff07a1e6e6b261f50a40b16cd",nc=00000001,response="3bd7d2e24c3bf3e3e5ea78628c1ccf76",qop="auth",opaque="0d3ced1a5756977875a15f93cc12dd21""
import matlab.net.http.*
creds = Credentials('Username','MyName','Password','MyPassword');
options = HTTPOptions('Credentials', creds);
[response, request] = RequestMessage().send('http://myhost.com',options);
authorizationField = request.getFields('Authorization');
authInfo = authorizationField.convert;
disp(string(authInfo));

版本历史记录

在 R2016b 中推出