.net WebClient与代理设置-或下载加速器带来的乐趣

.net WebClient与代理设置-或下载加速器带来的乐趣,.net,proxy,webclient,.net,Proxy,Webclient,我有一个相对简单的特性,它使用WebClient类来执行 向web服务器发送HTTPS邮件。此代码工作可靠,但遇到 使用EarthLink或AT&T下载加速器功能时出现问题 下载加速器通过更改拨号连接的代理来工作 仅为HTTP协议指定localhost:8080的设置。在这个 配置,可能HTTPS协议不受影响。事实上 当使用Internet Explorer导航到时,有 没有错误 但是,当使用.NET 2.0(或3.5)时,WebClient类无法执行 在此配置中,从中获取一个简单的HTTPS

我有一个相对简单的特性,它使用WebClient类来执行 向web服务器发送HTTPS邮件。此代码工作可靠,但遇到 使用EarthLink或AT&T下载加速器功能时出现问题

下载加速器通过更改拨号连接的代理来工作 仅为HTTP协议指定localhost:8080的设置。在这个 配置,可能HTTPS协议不受影响。事实上 当使用Internet Explorer导航到时,有 没有错误

但是,当使用.NET 2.0(或3.5)时,WebClient类无法执行 在此配置中,从中获取一个简单的HTTPS

作为一个简单的测试,我执行以下操作:

指定高级LAN代理配置,其中:

HTTP地址:点击:8080

安全地址:securewhacked:8081

在中,我调用以下函数:

IWebProxy defaultWebProxy = WebRequest.DefaultWebProxy;
Uri proxyUri = defaultWebProxy.GetProxy("https://www.wellsfargo.com");
我希望proxyUri应该是“securewhacked:8081”

相反,proxyUri是“whacked:8080”

这似乎是.NET“自动”代理使用中的一个错误。结果呢 当下载加速器打开时,我们的软件会失败

有人知道这里发生了什么吗

我知道客户禁用加速器相对比较容易, 但我宁愿我们的软件开箱即用,而不需要 用户禁用加速器


感谢您的建议。

加速器是在用户(IE)代理设置上设置的,还是在机器(WinHTTP)代理设置上设置的,还是两者都设置的?如果是IE,您可能希望尝试使用
proxycfg-u
将IE设置导入WinHTTP(因为我相信这就是
WebClient
(以及.NET通常使用的)的用途)