C# 代理后的mono http请求

C# 代理后的mono http请求,c#,proxy,mono,C#,Proxy,Mono,我已经编写了一个C#应用程序,它通过System.Net.Http.HttpClient(例如client.GetAsync(uri);)执行web请求。使用.Net运行时编译并执行,所有这些调用都是成功的。但是,在使用Mono编译和运行时,它们会出现异常(“IOException身份验证或解密失败”) 但是,切换到不通过代理的网络可以解决问题。总之,这不是证书或任何问题,只是代理问题 同样的情况也适用于tlstest工具:代理失败得很惨,没有它也可以正常工作 如何配置mono以使用代理设置/使

我已经编写了一个C#应用程序,它通过System.Net.Http.HttpClient(例如
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的问题,但这不是问题的根源,因为我已经正确地处理了这个问题。