如何在 C# 应用程序中使用代理
Posted
技术标签:
【中文标题】如何在 C# 应用程序中使用代理【英文标题】:How to use proxy with C# application 【发布时间】:2011-09-24 15:41:37 【问题描述】:我正在使用 Microsoft Visual Studio 2010 C# .net 4.0
我有一个 webbrowser 元素。我想要做的是使用代理通过 Webbrowser 元素导航。我怎样才能做到这一点 ?谢谢。
【问题讨论】:
+1。如何订阅此主题? @jp2code,这就是问题上赞成/反对箭头下方的星号的用途。点击它。 【参考方案1】:浏览器控件只是 IE 的一个实例——它将使用 IE 的代理设置。如果必须在代码中进行,可以通过使用注册表项来设置这些。
string key = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";
string serverName = "";//your proxy server name;
string port = ""; //your proxy port;
string proxy = serverName + ":" + port;
RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(key, true);
RegKey.SetValue("ProxyServer", proxy);
RegKey.SetValue("ProxyEnable", 1);
看到这个:http://social.msdn.microsoft.com/forums/en-US/winforms/thread/da510380-9571-4fcd-a05f-b165ced45017/
更新:看起来这可以只针对控件而不是整台机器来完成。请参阅此代码示例以仅为单个进程设置代理 - http://blogs.msdn.com/b/jpsanders/archive/2011/04/26/how-to-set-the-proxy-for-the-webbrowser-control-in-net.aspx
【讨论】:
这会更改整个计算机注册表。我只想更改 webbrowser 元素注册 :( 当我执行此 firefox 等操作时,一切都使用该代理。 此解决方案有效,谢谢:) blogs.msdn.com/b/jpsanders/archive/2011/04/26/…【参考方案2】:查看此链接。您可以轻松地为 Web 请求设置代理,但 WebBrowser 类与 iexplore.exe 共享设置......如果需要,您可以通过以编程方式更改 IE 注册表值然后将其更改回来来调整代理设置(请参阅 Brendan 的答案)。
How to set a proxy for Webbrowser Control without effecting the SYSTEM/IE proxy
【讨论】:
以上是关于如何在 C# 应用程序中使用代理的主要内容,如果未能解决你的问题,请参考以下文章