📜  defaultrequestheaders.authorization 基本身份验证 - C# (1)

📅  最后修改于: 2023-12-03 14:40:41.953000             🧑  作者: Mango

DefaultRequestHeaders.Authorization 基本身份验证 - C#

在 C# 中,DefaultRequestHeaders.Authorization 是一种可用于基本身份验证的属性。它允许你在 HTTP 请求头中添加身份验证凭据,以便访问受保护的 Web 资源。

使用方法

在 C# 中使用 DefaultRequestHeaders.Authorization 基本身份验证需要以下步骤:

  1. 创建 HttpClient 对象。
HttpClient client = new HttpClient();
  1. 创建一个包含凭据的字符串。
string auth = "username:password";
  1. 转换凭据字符串为 Base64 格式。
string base64auth = Convert.ToBase64String(Encoding.UTF8.GetBytes(auth));
  1. 将 Base64 编码凭据加入 HTTP 请求头。
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 身份验证凭据。

参考文献