如果我想使用webProxy绕过像192.168.1.0/24这样的网络有什么办法吗?
WebProxy proxy = new WebProxy();
proxy.ByPassList = ???
答案 0 :(得分:6)
您可以在Internet Explorer中进行设置,然后使用
WebProxy proxy =(WebProxy)WebProxy.GetDefaultProxy(); 已弃用。
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);
或者您可以尝试将"192.\.168\.1\.*"
添加到proxy.BypassList,类似于
List<string> bypasslist = new List<string>(proxy.BypassList);
bypasslist.Add("192.\.168\.1\.*");
proxy.BypassList = bypasslist.ToArray();
答案 1 :(得分:4)
创建代理后,您无法更改旁路列表。使用以下构造函数重载:
Uri address = ...
proxy = new WebProxy(address, **true**);
true 表示“绕过本地”,如果您使用的是192.168.1.0/24子网,则应该足以满足您的需求。
或者如果您想添加自定义列表:
Uri address = ...
proxy = new WebProxy(address, true, new string[] {"192.168.1.1","intranet",...});