2011-03-05 122 views
0

是否有可能在不编写注册表的情况下使用具有不同代理的两个Web浏览器控件。在网络浏览器控制中使用代理服务器

或者可能有任何解决方案?

+0

嗨@拉格朗日!你找到任何解决方案。如果是的话请分享它,我面临类似的问题。 – 2011-07-08 09:41:09

+0

没有好友..............事实是,Web浏览器使用来自注册表的代理。并且注册表一次只能有一个值 – 2011-07-08 16:48:42

回答

1

您无法使用Web浏览器控件执行此操作。 InternetSetOption允许您设置代理,但您的选择仅为“针对所有进程”或“针对此进程”。您无法单独为单个控件设置代理。如果流量存在明显差异(例如,一个控制权转移到一个服务器,另一个控制权转移到另一个控制器),则可以配置流程以使用代理配置脚本(搜索FindProxyForURL)将绑定到不同服务器的流量链接到不同的代理服务器。

如果设置了代理,则应使用InternetSetOption而不是直接操作注册表。 (作为一种解决方法,您可以将FiddlerCore放入您的流程中,将您的流程设置为使用FiddlerCore,然后让FiddlerCore将流量从每个控件发送到不同的上游网关,但这要求您找到某种区分流量的方法从每个控制。)

0

其实我认为编写注册表是唯一的方法,因为WebBrowser创建一个Internet Explorer的实例,所以你必须改变IE设置修改注册表。

如果您不想更改实际配置,您可以存储代理地址,使用您的代码进行修改,然后在应用程序关闭时进行恢复。

+0

我希望两个或多个Web浏览器控件并行工作并使用不同的代理 – 2011-03-05 13:52:38

+1

为什么downvote? – 2011-03-05 14:47:59