使用代理与Web浏览器控件

时间:2011-03-05 12:37:01

标签: c# proxy webbrowser-control

是否可以在不编写注册表的情况下使用具有不同代理的两个Web浏览器控件。

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

2 个答案:

答案 0 :(得分:2)

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

如果您设置了代理,则应使用InternetSetOption而不是直接操作注册表。

(作为一种解决方法,您可以将FiddlerCore放入您的进程,将您的进程设置为使用FiddlerCore,然后让FiddlerCore将流量从每个控件发送到不同的上游网关,但这需要您找到一些方法来区分流量与每个控制。)

答案 1 :(得分:0)

实际上我认为编写注册表是唯一的方法,因为WebBrowser创建了一个Internet Explorer实例,因此您必须更改修改注册表的IE设置。

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