HttpCredentialsHeaderValue 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 HTTP 请求上的 Authorization 或 Proxy-Authorization HTTP 标头的值。
public ref class HttpCredentialsHeaderValue sealed : IStringable
/// [Windows.Foundation.Metadata.Activatable(Windows.Web.Http.Headers.IHttpCredentialsHeaderValueFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class HttpCredentialsHeaderValue final : IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Web.Http.Headers.IHttpCredentialsHeaderValueFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class HttpCredentialsHeaderValue final : IStringable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Web.Http.Headers.IHttpCredentialsHeaderValueFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class HttpCredentialsHeaderValue : IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Web.Http.Headers.IHttpCredentialsHeaderValueFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class HttpCredentialsHeaderValue : IStringable
function HttpCredentialsHeaderValue(scheme, token)
Public NotInheritable Class HttpCredentialsHeaderValue
Implements IStringable
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
以下示例代码演示了一个方法,该方法使用 HttpCredentialsHeaderValue 类的属性和方法获取和设置 HttpRequestMessage 对象上的 Authorization HTTP 标头。
using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;
public void DemonstrateHeaderRequestAuthorization() {
var request = new HttpRequestMessage();
// Set the header with a strong type.
string username = "user";
string password = "password";
var buffer = Windows.Security.Cryptography.CryptographicBuffer.ConvertStringToBinary (username + ":" + password, Windows.Security.Cryptography.BinaryStringEncoding.Utf16LE);
string base64token = Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(buffer);
request.Headers.Authorization = new HttpCredentialsHeaderValue("Basic", base64token);
// Get the strong type out
System.Diagnostics.Debug.WriteLine("One of the Authorization values: {0}={1}",
request.Headers.Authorization.Scheme,
request.Headers.Authorization.Token);
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The Authorization ToString() results: {0}", request.Headers.Authorization.ToString());
}
以下示例代码演示了一个方法,该方法使用 HttpCredentialsHeaderValue 类的属性和方法获取和设置 HttpRequestMessage 对象上的 Proxy-Authorization HTTP 标头。
using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;
public void DemonstrateHeaderRequestProxyAuthorization() {
var request = new HttpRequestMessage();
// Set the header with a strong type.
string username = "user";
string password = "password";
var buffer = Windows.Security.Cryptography.CryptographicBuffer.ConvertStringToBinary(username + ":" + password, Windows.Security.Cryptography.BinaryStringEncoding.Utf16LE);
string base64token = Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(buffer);
request.Headers.ProxyAuthorization = new HttpCredentialsHeaderValue("Basic", base64token);
// Get the strong type out
System.Diagnostics.Debug.WriteLine("One of the ProxyAuthorixation values: {0}={1}",
request.Headers.ProxyAuthorization.Scheme,
request.Headers.ProxyAuthorization.Token);
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The ProxyAuthorization ToString() results: {0}", request.Headers.ProxyAuthorization.ToString());
}
注解
HttpCredentialsHeaderValue 类表示 HTTP 请求上的 Authorization 或 Proxy-Authorization HTTP 标头。
HttpRequestHeaderCollection 上的 Authorization 属性返回一个 HttpCredentialsHeaderValue 对象,该对象表示 Authorization HTTP 标头。 HttpRequestHeaderCollection 上的 ProxyAuthorization 属性返回一个 HttpCredentialsHeaderValue 对象,该对象表示 Proxy-Authorization HTTP 标头。
构造函数
HttpCredentialsHeaderValue(String) |
使用用于身份验证的方案初始化 HttpCredentialsHeaderValue 类的新实例。 |
HttpCredentialsHeaderValue(String, String) |
使用要用于身份验证的方案和用户令牌信息初始化 HttpCredentialsHeaderValue 类的新实例。 |
属性
Parameters |
获取包含在 Authorization 或 Proxy-Authorization HTTP 标头中的一组名称/值对。 |
Scheme |
获取用于身份验证的方案。 |
Token |
获取 Authorization 或 Proxy-Authorization HTTP 标头中使用的用户令牌信息。 |
方法
Parse(String) |
将字符串转换为 HttpCredentialsHeaderValue 实例。 |
ToString() |
返回表示当前 HttpCredentialsHeaderValue 对象的字符串。 |
TryParse(String, HttpCredentialsHeaderValue) |
确定字符串是否为有效的 HttpCredentialsHeaderValue 信息。 |