Как обойти сеть с помощью WebProxy?
Вопрос
Если я хочу обойти сеть типа 192.168.1.0/24 с помощью веб-прокси, есть ли способ?
WebProxy proxy = new WebProxy();
proxy.ByPassList = ???
Решение
Вы можете настроить его в Internet Explorer, а затем использовать
Прокси-сервер WebProxy = (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();
Другие советы
Вы не можете изменить список обхода после создания прокси.Используйте следующие перегрузки конструктора:
Uri address = ...
proxy = new WebProxy(address, **true**);
истинный означает «обход на локальном уровне» и этого должно быть достаточно для ваших нужд, если вы используете подсеть 192.168.1.0/24.
или если вы хотите добавить собственный список:
Uri address = ...
proxy = new WebProxy(address, true, new string[] {"192.168.1.1","intranet",...});
Не связан с StackOverflow