using System; using System.Collections.Generic; using System.Linq; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; namespace CloudGaming.Core.AgileConfig; /// /// /// public class BasicAuthHttpClientHandler : DelegatingHandler { private readonly string _userName; private readonly string _password; /// /// 初始化 BasicAuthHttpClientHandler /// /// 用户名 /// 密码 public BasicAuthHttpClientHandler(string userName, string password) { _userName = userName; _password = password; InnerHandler = new HttpClientHandler(); // 确保内部处理程序已分配 } protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { // 设置请求的 Content-Type 为 application/json //request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); //request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _token); // 生成 Basic 认证头部信息 var authValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{_userName}:{_password}")); request.Headers.Authorization = new AuthenticationHeaderValue("Basic", authValue); return await base.SendAsync(request, cancellationToken); } }