shahjapan
shahjapan

Reputation: 14335

How to by pass network using WebProxy?

If I want to bypass a Network like 192.168.1.0/24 using webProxy is there any way?

WebProxy proxy = new WebProxy();

proxy.ByPassList = ???

Upvotes: 3

Views: 16848

Answers (3)

Nxt_N_C
Nxt_N_C

Reputation: 61

Use this

WebProxy lb_proxy = new WebProxy("PROXY_IP", PROXY_PORT)
{
     BypassProxyOnLocal = true,
     BypassList = new string[] { "192.168.1.1", "192.168.1.2",...}
};
httpRequest.Proxy = lb_proxy;

Upvotes: 0

Jonas Elfström
Jonas Elfström

Reputation: 31428

You could set it up in Internet Explorer and then use

WebProxy proxy = (WebProxy) WebProxy.GetDefaultProxy(); Deprecated.

var iproxy = WebRequest.GetSystemWebProxy();
var url = new Uri("http://www.example.com");
var wp = new WebProxy();
wp.Credentials = iproxy.Credentials;
wp.Address = iproxy.GetProxy(url);

or you could try to add "192.\.168\.1\.*" to proxy.BypassList with something like

List<string> bypasslist = new List<string>(proxy.BypassList);
bypasslist.Add("192.\.168\.1\.*");
proxy.BypassList = bypasslist.ToArray();

Upvotes: 6

Sebastien Lebreton
Sebastien Lebreton

Reputation: 302

You cannot alter the bypass list after the proxy creation. Use the following constructor overloads:

Uri address = ...
proxy = new WebProxy(address, **true**); 

true means "bypass on local", and should be enough for you needs if you are using a 192.168.1.0/24 subnet.

or if you want to add a custom list:

Uri address = ...
proxy = new WebProxy(address, true, new string[] {"192.168.1.1","intranet",...});

Upvotes: 6

Related Questions