【问题标题】:WebProxy on Portable Class Library可移植类库上的 WebProxy
【发布时间】:2014-03-13 16:01:47
【问题描述】:
我正在构建一个可移植类库项目。使用 HttpClient 类(从 NuGet 包安装)。
现在。我想通过将 HttpClientHandler 传递给它的构造函数来使用 Proxy 来制作 HttpClient ( HttpClientHandler 有一个 Proxy 属性,我们将为它分配一个 WebProxy 实例)。
问题是可移植类库不支持 WebProxy 类。它只有 IWebProxy 接口。
我在 Google 上搜索了 NuGet 包,但找不到任何解决方案。
请告诉我。我该如何解决这个问题(或使用代理制作 HttpClient 的另一种方法)
【问题讨论】:
标签:
c#
proxy
httpclient
portability
【解决方案1】:
没有针对 PCL 的 IWebProxy 实现,但它是一个非常简单的接口,您可以轻松地自行实现。对于所有目的地的同一个代理都是这样的:
public class Proxy : System.Net.IWebProxy
{
public System.Net.ICredentials Credentials
{
get;
set;
}
private readonly Uri _proxyUri;
public Proxy(Uri proxyUri)
{
_proxyUri = proxyUri;
}
public Uri GetProxy(Uri destination)
{
return _proxyUri;
}
public bool IsBypassed(Uri host)
{
return false;
}
}