我编写了一个C#应用程序,通过System.Net.Http.HttpClient(例如client.GetAsync(uri);
)执行Web请求。使用.Net运行时编译并执行它,所有这些调用都是成功的。但是,使用Mono进行编译和运行时,它们会因异常(“IOException Authentication或decryption failed”)而失败。
但是,切换到不通过代理的网络可以解决问题。总而言之,它不是证书或任何问题,而只是代理问题。
同样适用于tlstest工具:使用代理失败,在没有它的情况下工作正常。
如何配置单声道以使用代理设置/使用系统代理设置?
答案 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应用程序带来了最新的特定于平台的网络库,该处理程序可以解决这类问题。