Web-прокси

101

В локальной сети можно использовать прокси-сервер, чтобы направить интернет-доступ к конкретным серверам. Прокси-сервер может сократить число передач и сетевых соединений из Интернета и повысить благодаря кэшированию ресурсов производительность локальных клиентов.

Прокси-сервер выполняет активное и пассивное кэширование:

Прокси-сервер, настроенный по умолчанию, устанавливается из Internet Options в Control Panel. Кроме того, к средствам конфигурирования можно также получить доступ из Internet Explorer (Tools --> Internet Options --> Connections --> LAN Settings):

Настройки прокси-сервера

В данном случае Web-прокси-сервер имеет IP-адрес 172.31.24.21 и слушает порт 80. Этот прокси-сервер не должен использоваться для Web-серверов в интрасети. Через кнопку "Дополнительно" можно сконфигурировать разные прокси-серверы для разных протоколов (HTTP, HTTPS или FTP) и выбрать конкретные Web-сайты, к которым прокси-сервер не должен обращаться.

Класс WebProxy

Класс WebProxy используется для определения прокси-сервера. Свойства этого класса аналогичны настройкам, которые были рассмотрены вместе с конфигурированием прокси-сервера:

Класс WebProxy
Свойства WebProxy Описание
Address Свойство Address имеет тип Uri и определяет URI прокси-сервера, IP-адрес или имя и номер порта.
BypassList В свойстве BypassList можно получать и устанавливать в массиве строк URI, которые не должны использовать прокси-сервер.
BypassArrayList BypassArrayList — это свойство только для чтения, возвращающее объект типа ArrayList, представляющий URI, которые устанавливаются в свойстве BypassList.
BypassProxyOnLocal BypassProxyOnLocal — это логическое свойство, указывающее, должны ли с прокси-сервером использоваться локальные адреса.
Credentials Если прокси-сервер требует аутентификации пользователя, в свойстве Credentials можно передать удостоверение личности пользователя.

Вместо того, чтобы использовать установленный по умолчанию Web-прокси для всех запросов, можно выделить другой прокси для конкретных запросов. Для выбора другого прокси нужно лишь установить свойство Proxy класса WebRequest:

WebProxy wp = new WebProxy("92.168.1.100", true); 
wp.Credentials = new NetworkCredential("user1", "user1Password"); 
WebRequest wrq = WebRequest.Create("http://www.example.com"); 
wrq.Proxy = wp; 
WebResponse wrs = wrq.GetResponse () ; 
Пройди тесты
Лучший чат для C# программистов