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

HttpClient. Default credentials to authenticate on auto discovered proxy

控制狂免责声明:是的,有很多关于 HttpClient 和代理的问题,但他们至少使用了

根据dotnet developers

if the default value of HttpClientHandler.Proxy is null, then HttpClientHandler will use IE proxy settings

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

_client = new HttpClient()

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

P.S。可能还有另一个问题,运行 作为特殊帐户下的一项服务(尤其是在 Linux 上)此代码没有可供使用的 IE 设置。所以我们需要重新实现WPAD。

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

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