我正在使用Microsoft HTTP 客户端库 - PCL(通过 NuGet 安装)与公共 REST API 进行通信。因为我在企业防火墙后面,所以我需要在 HttpClientHandler 上配置代理信息。
但是,在 HttpClientHandler 上设置代理时,会引发以下错误:
找不到方法:'无效 System.Net.Http.HttpClientHandler.set_Proxy(System.Net.IWebProxy)'。
我的代码没有什么特别的,所以我有点疑惑:
var handler = new HttpClientHandler
{
UseDefaultCredentials = false,
Proxy = new DefaultProxy
{
Credentials =
new NetworkCredential(
"firstname.lastname",
"P4ssw0rd",
"DOMAIN")
},
UseProxy = true
};
this.client = new HttpClient(handler);
一些注意事项:
- 我已经成功地将标准.Net 库(即不是PCL)中的HttpClientHandler 用于另一个项目,所以我知道代理信息是正确的。
- 当绕过代理(即在公司网络之外,或没有代理)时,我已经成功检索到数据。
- DefaultProxy 实现 IWebProxy。