【问题标题】:WebClient vs. Proxy Settings - or fun with Download AcceleratorsWebClient 与代理设置 - 或下载加速器的乐趣
【发布时间】:2010-10-02 04:29:47
【问题描述】:

我有一个比较简单的功能就是使用WebClient类来执行 到 Web 服务器的 HTTPS POST。此代码工作可靠但遇到 使用 EarthLink 或 AT&T 下载加速器功能时出现问题。

下载加速器通过更改拨号连接的代理来工作 设置以指定 localhost:8080 仅用于 HTTP 协议。在这个 配置,想必HTTPS协议应该不受影响。实际上, 使用 Internet Explorer 导航到 https://www.wellsfargo.com 时,出现 没有错误。

但是,当使用 .NET 2.0(或 3.5)时,WebClient 类无法执行 在此配置中来自 https://www.wellsfargo.com 的简单 HTTPS GET。

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

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

HTTP 地址:whacked:8080

安全地址:securewhacked:8081

在C#中我调用了以下函数:

IWebProxy defaultWebProxy = WebRequest.DefaultWebProxy;
Uri proxyUri = defaultWebProxy.GetProxy("https://www.wellsfargo.com");

我希望 proxyUri 应该是“securewhacked:8081”。

相反,proxyUri 是“whacked:8080”。

这似乎是 .NET “自动”代理使用中的一个错误。结果 是我们的软件在打开下载加速器的时候就失效了。

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

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

任何建议表示赞赏。

【问题讨论】:

    标签: .net proxy webclient


    【解决方案1】:

    加速器设置在用户 (IE) 代理设置、计算机 (WinHTTP) 代理设置还是两者上?如果是 IE,您可能想尝试使用 proxycfg -u 将 IE 设置导入 WinHTTP(因为我相信这是 WebClient(和一般的 .NET)使用的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 2016-12-18
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多