代理后面的单声道http请求

时间:2016-12-08 15:53:52

标签: c# proxy mono

我编写了一个C#应用程序,通过System.Net.Http.HttpClient(例如client.GetAsync(uri);)执行Web请求。使用.Net运行时编译并执行它,所有这些调用都是成功的。但是,使用Mono进行编译和运行时,它们会因异常(“IOException Authentication或decryption failed”)而失败。

但是,切换到不通过代理的网络可以解决问题。总而言之,它不是证书或任何问题,而只是代理问题。

同样适用于tlstest工具:使用代理失败,在没有它的情况下工作正常。

如何配置单声道以使用代理设置/使用系统代理设置?

2 个答案:

答案 0 :(得分:1)

您可以尝试在HttpClient中设置代理吗?如有必要,您可以设置代理凭据。

    WebProxy proxy = new WebProxy("proxyaddress", port);

    HttpClientHandler handler = new HttpClientHandler()
    {
        Proxy = proxy
    };

    HttpClient client = new HttpClient(handler);

答案 1 :(得分:0)

尝试使用modernhttpclient组件。该库通过自定义的HttpClient处理程序为Xamarin应用程序带来了最新的特定于平台的网络库,该处理程序可以解决这类问题。