【问题标题】:WPF WebBrowser control seems to use proxy (fiddler) but no one is configuredWPF WebBrowser 控件似乎使用代理(提琴手),但没有配置
【发布时间】:2015-01-20 06:47:48
【问题描述】:

昨天我刚刚将一个 WPF WebBrowser 控件添加到一个新创建的 WPF 应用程序中。但是,例如使用“http://www.google.de”调用 Navigate 方法会导致控件中出现“Navigation Canceled”错误消息。首先,我完全禁用了我的防火墙,但没有任何改变。我检查了 IE 互联网选项中的孤立代理配置,但没有配置代理。大约一个小时后,我启动了 HTTP 代理工具 fiddler 来检查 HTTP 请求是否到达 fiddler,或者请求是否在到达之前失败。令人惊讶的是:请求到达提琴手并且网站被打开。我仔细检查了所有我知道的代理设置:

  • IE 互联网选项再次出现(未找到代理设置!)
  • 所有已安装的 32 位和 64 位 .NET 框架版本的 machine.config(未找到代理设置!)
  • 在我现在特别添加到我的 WPF 应用程序的 app.config 中禁用代理(没有发生任何事情)

使用 WebClient.DownloadString 新创建的控制台应用程序有效!所以我认为这不是全局错误配置的 .NET Framework 的问题。所有其他已安装的浏览器(如 IE、Firefox、Chrome 等)都可以在没有 fiddler 的情况下运行!

为了完全确定没有为我的进程启用代理,我已从 WPF 应用程序进程的注册表中读取 Internet 选项,但未设置 ProxyServer/ProxyEnabled:

  • [CU]\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet 设置
  • [CU]\Software\Microsoft\Windows\CurrentVersion\Internet 设置
  • [LM]\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet 设置
  • [LM]\Software\Microsoft\Windows\CurrentVersion\Internet 设置

请帮帮我!我完全被难住了!

来自德国的问候,

托比亚斯

【问题讨论】:

    标签: .net wpf internet-explorer webbrowser-control fiddler


    【解决方案1】:

    “WPF Web Browser”实际上只是 Internet Explorer Web Browser 对象的托管实例,因此,默认情况下,它采用系统的代理设置。值得注意的是,它不采用 .NET 代理配置设置,因此 *.config 文件都不应该是这里的相关因素。

    后退一点:

    1. 您对所有 个主机名有这个问题,还是只对那个特定的 URL 有这个问题?
    2. 您在使用HTTPS 或仅用于HTTP 时是否有此问题?
    3. 如果您启动 Fiddler,禁用捕获(取消选中文件 > 捕获)并在您的控件中访问 http://127.0.0.1:8888/,会发生什么?
    4. 您是否尝试过在另一台机器上运行您的应用程序?它的行为是否不同?
    5. 您是否安装了第 3 方防病毒/防火墙软件?
    6. 如果您运行http://www.bayden.com/dl/dotnetbrowser.exe,它是否表现出相同的行为?

    【讨论】:

    • 非常感谢您的回复!我很抱歉!这是我的错……在某个地方。我刚刚完全禁用了我的 Windows 防火墙并且它可以工作。啊!昨天我只启用了“所有出站连接”。这还不够……必须有一个“坏防火墙规则”明确禁止连接。非常感谢您的帮助!
    【解决方案2】:

    我完全相信我的防火墙不是问题所在。这真的很尴尬。我只将防火墙设置为“允许与规则不匹配的出站连接”。实际上有一个旧的孤立规则阻止了我的应用程序。 Fiddler 只是来救援,因为它自己将其注册为系统代理并且没有被阻止。我很伤心:真的很尴尬:-(

    【讨论】:

      【解决方案3】:

      使用 Uri 参数导航。例子: 导航(new Uri("http://www.google.de"));

      【讨论】:

      • 如果你真的想使用字符串,请使用google.de。看到它的 HTTPS 不是 HTTP
      • 你不是认真的吧?你真的认为你的答案是我问题的解决方案吗?我已经没词了……
      猜你喜欢
      • 2013-10-26
      • 1970-01-01
      • 2023-03-24
      • 2015-09-10
      • 2013-07-30
      • 2011-06-07
      • 1970-01-01
      • 2014-07-09
      • 1970-01-01
      相关资源
      最近更新 更多