📅  最后修改于: 2023-12-03 14:40:41.953000             🧑  作者: Mango
在 C# 中,DefaultRequestHeaders.Authorization 是一种可用于基本身份验证的属性。它允许你在 HTTP 请求头中添加身份验证凭据,以便访问受保护的 Web 资源。
在 C# 中使用 DefaultRequestHeaders.Authorization 基本身份验证需要以下步骤:
HttpClient client = new HttpClient();
string auth = "username:password";
string base64auth = Convert.ToBase64String(Encoding.UTF8.GetBytes(auth));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64auth);
其中,AuthenticationHeaderValue 是一个 .NET 类型,用于表示 HTTP 身份验证头值。它包含一个 schema 和一个 parameter,用于表示传递的身份验证凭据。
Basic 是身份验证方案,base64auth 是经过 Base64 编码的凭据字符串。
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
HttpClient client = new HttpClient();
string auth = "username:password";
string base64auth = Convert.ToBase64String(Encoding.UTF8.GetBytes(auth));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", base64auth);
HttpResponseMessage response = client.GetAsync("http://example.com").Result;
if (response.IsSuccessStatusCode)
{
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
}
}
}
}
在这个示例中,我们使用 HttpClient 对象向示例网站发送一个 GET 请求,并在 DefaultRequestHeaders.Authorization 属性中添加 Basic 身份验证凭据。