C# 如何设置WebBrowser代理

C# 如何设置WebBrowser代理,c#,.net,proxy,browser,C#,.net,Proxy,Browser,我正在制作一个多线程应用程序。每个线程都有自己的WebBrowser控件。我想知道如何为每个WebBrowser设置不同的代理。对我来说,支持每个实例代理的自定义WebBrowser也是一个很好的解决方案。因为WebBrowser只是IE的一个实例,所以无法为它设置代理。 除非您调整注册表,但它不是单独的,因为WebBrowser只是IE的一个实例,所以不可能为它设置代理。 除非您调整注册表,但它不是像maor所说的那样单独设置的,否则您将无法使用WebBrowser进行每个浏览器的代理设置。相

我正在制作一个多线程应用程序。每个线程都有自己的WebBrowser控件。我想知道如何为每个WebBrowser设置不同的代理。对我来说,支持每个实例代理的自定义WebBrowser也是一个很好的解决方案。

因为WebBrowser只是IE的一个实例,所以无法为它设置代理。
除非您调整注册表,但它不是单独的,因为WebBrowser只是IE的一个实例,所以不可能为它设置代理。
除非您调整注册表,但它不是像maor所说的那样单独设置的

,否则您将无法使用WebBrowser进行每个浏览器的代理设置。相反,如果您可以控制代理,您可能希望查看它有哪些选项来标识会话请求/响应。您可能可以通过一个代理,根据URL和标题等,判断哪些请求可能来自哪个WebBrowser控件。

正如maor所说,您将无法使用WebBrowser进行每个浏览器的代理设置。相反,如果您可以控制代理,您可能希望查看它有哪些选项来标识会话请求/响应。您可以通过一个代理,根据URL和标题等,判断哪些请求可能来自哪个WebBrowser控件。

使用非托管代码可以实现,这可能有助于:


使用非托管代码可以实现这一点,这可能有助于:


也许另一种方法是合适的

您可以在后台线程中生成WebRequest,并为每个线程设置不同的代理。
收到数据后,您可以轻松地将其加载到WebBrowser中进行处理。

也许可以采用另一种方法

您可以在后台线程中生成WebRequest,并为每个线程设置不同的代理。
收到数据后,您可以轻松地将其加载到WebBrowser中进行播放。

您有多个UI线程吗?你是怎么做到的?它们不是UI线程。他们是一种背景工作者。我初始化1个WebBrowser对象新建WebBrowser;在每个线程上执行特定任务。WebBrowser对象是可视组件。如果您只是发送请求和接收响应,那么使用WebRequest对象会更好。您可以在不同的进程中创建webbrowser控件吗?WinInet设置是进程范围的,WinInet会话也是如此。这个想法太疯狂了,可能会奏效-你有多个UI线程?你是怎么做到的?它们不是UI线程。他们是一种背景工作者。我初始化1个WebBrowser对象新建WebBrowser;在每个线程上执行特定任务。WebBrowser对象是可视组件。如果您只是发送请求和接收响应,那么使用WebRequest对象会更好。您可以在不同的进程中创建webbrowser控件吗?WinInet设置是进程范围的,WinInet会话也是如此。这个想法太疯狂了,可能会奏效-实际上,我正在尝试使用webBrowser发送和不接收数据。实际上,我正在尝试使用webBrowser发送和不接收数据。