Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use proxy with C# application

I am using Microsoft Visual Studio 2010 C# .net 4.0

I have a webbrowser element. What i want to do is navigating via Webbrowser element with using proxy. How can i do that ? thank you.

like image 917
MonsterMMORPG Avatar asked Jun 28 '11 20:06

MonsterMMORPG


2 Answers

The browser control is just an instance of IE - it will use IE's proxy settings. You can set these by playing with registry keys if you must do it in code.

        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);

See this: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/da510380-9571-4fcd-a05f-b165ced45017/

Update: Looks like this can be done for just the control and not the entire machine. See this code sample for setting the proxy for just a single process - http://blogs.msdn.com/b/jpsanders/archive/2011/04/26/how-to-set-the-proxy-for-the-webbrowser-control-in-net.aspx

like image 112
brendan Avatar answered Sep 27 '22 19:09

brendan


See this link. You can easily set proxies for web requests but the WebBrowser class shares settings with iexplore.exe ... If you want, you can adjust the proxy settings by programmatically changing the IE registry values and then change them back (see brendan's answer).

How to set a proxy for Webbrowser Control without effecting the SYSTEM/IE proxy

like image 27
Jake Sankey Avatar answered Sep 27 '22 19:09

Jake Sankey