HTTP客户端。在自动发现的代理上进行身份验证的默认凭据
HttpClient. Default credentials to authenticate on auto discovered proxy
控制狂免责声明:是的,有很多关于 HttpClient 和代理的问题,但他们至少使用了
- 显式(非默认)代理凭据
- 显式(非 WPAD)代理配置
- 已弃用 Api,例如。 G。 WebProxy.GetDefaultProxy、WebRequest 等。
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);
控制狂免责声明:是的,有很多关于 HttpClient 和代理的问题,但他们至少使用了
- 显式(非默认)代理凭据
- 显式(非 WPAD)代理配置
- 已弃用 Api,例如。 G。 WebProxy.GetDefaultProxy、WebRequest 等。
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);