c#:对使用基本身份验证的 api 使用当前凭据

c#: use current credentials for api that uses basic authentication

我有一个 c# .net 5 应用程序 运行 作为服务器上的计划任务。计划任务与有权访问 api 的用户一起运行。 API 使用基本身份验证,但我不知道如何使用基本身份验证,而不在 AuthenticationHeader 中发送编码的 user/pwd。如何使用默认凭据?我试过了,但访问被拒绝

   HttpClientHandler handler = new();
   handler.UseDefaultCredentials = true;
   HttpClient client = new HttpClient(handler);
   client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic");
   var request = new HttpRequestMessage(HttpMethod.Get, "some uri"); 

如果 API 使用基本身份验证,您需要将 usr/pwd 发送过来,没有解决方法

The Basic authentication scheme is a widely used, industry-standard method for collecting user name and password information. Basic authentication transmits user names and passwords across the network in an unencrypted form. You can use SSL encryption in combination with Basic authentication to help secure user account information transmitted across the Internet or a corporate network.

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/authentication/basicauthentication

您需要更改 API 身份验证方法来实现您想要的(阅读同一文档中的 this