HttpClient的。在自动发现的代理上进行身份验证的默认凭据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpClient的。在自动发现的代理上进行身份验证的默认凭据相关的知识,希望对你有一定的参考价值。

控制怪胎免责声明:是的,有很多关于HttpClient和代理的问题,但他们至少使用其中一个

  • 明确(非默认)代理凭证
  • 显式(无WPAD)代理配置
  • 弃用Api,e。 G。 WebProxy.GetDefaultProxy,WebRequest等。

根据dotnet developers

如果HttpClientHandler.Proxy的默认值为null,则HttpClientHandler将使用IE代理设置

因此,要使用HttpClient设置正确的公司代理,我们不需要任何其他操作

_client = new HttpClient()

并且没有正式的方法来选择代理。但是,如何通过默认AD凭据在自动发现的代理上进行身份验证呢?我只是收到“(407)需要代理身份验证”。

附:可能存在另一个问题,并且在特殊帐户下运行作为服务(特别是在Linux上),此代码没有要使用的IE设置。所以我们需要重新实现WPAD。

答案

您可以使用HttpClient使用以下代码将凭据传递给默认系统代理:

var handler = new HttpClientHandler();
handler.DefaultProxyCredentials = CredentialCache.DefaultCredentials;
var client = new HttpClient(handler);

以上是关于HttpClient的。在自动发现的代理上进行身份验证的默认凭据的主要内容,如果未能解决你的问题,请参考以下文章