C# 代理后的mono http请求
我已经编写了一个C#应用程序,它通过System.Net.Http.HttpClient(例如C# 代理后的mono http请求,c#,proxy,mono,C#,Proxy,Mono,我已经编写了一个C#应用程序,它通过System.Net.Http.HttpClient(例如client.GetAsync(uri);)执行web请求。使用.Net运行时编译并执行,所有这些调用都是成功的。但是,在使用Mono编译和运行时,它们会出现异常(“IOException身份验证或解密失败”) 但是,切换到不通过代理的网络可以解决问题。总之,这不是证书或任何问题,只是代理问题 同样的情况也适用于tlstest工具:代理失败得很惨,没有它也可以正常工作 如何配置mono以使用代理设置/使
client.GetAsync(uri);
)执行web请求。使用.Net运行时编译并执行,所有这些调用都是成功的。但是,在使用Mono编译和运行时,它们会出现异常(“IOException身份验证或解密失败”)
但是,切换到不通过代理的网络可以解决问题。总之,这不是证书或任何问题,只是代理问题
同样的情况也适用于tlstest工具:代理失败得很惨,没有它也可以正常工作
如何配置mono以使用代理设置/使用系统代理设置?能否尝试在HttpClient中设置代理?如有必要,可以设置代理凭据
WebProxy proxy = new WebProxy("proxyaddress", port);
HttpClientHandler handler = new HttpClientHandler()
{
Proxy = proxy
};
HttpClient client = new HttpClient(handler);
尝试使用组件。该库通过定制的HttpClient处理程序为Xamarin应用程序提供最新的特定于平台的网络库,该处理程序可为您处理此类问题。这并不是一个理想的解决方案。问题肯定出在Mono上,所以开发我的应用程序,使其完全不尊重系统代理设置,这太糟糕了。但无论如何,谢谢你可能与此有关:。在Mono中,没有Windows证书存储。@mtheriault证书(通常)是Mono的问题,但这不是问题的根源,因为我已经正确地处理了这个问题。