HttpClient的。在自动发现的代理上进行身份验证的默认凭据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpClient的。在自动发现的代理上进行身份验证的默认凭据相关的知识,希望对你有一定的参考价值。
控制怪胎免责声明:是的,有很多关于HttpClient和代理的问题,但他们至少使用其中一个
- 明确(非默认)代理凭证
- 显式(无WPAD)代理配置
- 弃用Api,e。 G。 WebProxy.GetDefaultProxy,WebRequest等。
如果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的。在自动发现的代理上进行身份验证的默认凭据的主要内容,如果未能解决你的问题,请参考以下文章
具有身份验证的 Apache HttpClient Socks5 代理
Apache HttpClient 4.3.1 中使用 HTTP 隧道/HTTPS 连接的抢先式代理身份验证
csharp 使用基本身份验证和代理的简单C#.NET 4.5 HTTPClient请求
C# SMTP 无法在 Outlook.com 端口 587 上进行身份验证。“服务器响应为:5.7.1 客户端未通过身份验证”