Класс ProxySelector
- java.lang.Object
-
- java.net.ProxySelector
public abstract class ProxySelector extends Object
Выбирает прокси-сервер для использования при подключении к сетевому ресурсу, указанному в URL. Прокси-селектор — это конкретный подкласс этого класса, зарегистрированный вызовом метода setDefault. Текущий зарегистрированный прокси-селектор можно получить, вызвав метод getDefault.
При регистрации прокси-селектора, например, подкласс класса URLConnection должен вызывать метод select для каждого запроса URL, чтобы прокси-селектор мог решить, использовать прямое или прокси-соединение. Метод select возвращает итератор по коллекции с предпочтительным подходом к соединению.
Если подключение к прокси- (PROXY или SOCKS) серверам не может быть установлено, вызывающий должен вызвать метод прокси-селектора connectFailed, чтобы уведомить прокси-селектор о недоступности прокси-сервера.
По умолчанию прокси-селектор применяет набор системных свойств, связанных с настройками прокси, описанных в документации.
- Since:
- 1.5
Конструкторы
| Конструктор и описание |
|---|
ProxySelector() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
abstract void |
connectFailed(URI uri,
SocketAddress sa,
IOException ioe) Вызывается для указания того, что соединение с прокси/соксом-сервером не может быть установлено. |
static ProxySelector |
getDefault() Получает прокси-селектор системы. |
abstract List<Proxy> |
select(URI uri) Выбирает все подходящие прокси на основе протокола доступа к ресурсу и адреса назначения. |
static void |
setDefault(ProxySelector ps) Устанавливает (или сбрасывает) прокси-селектор системы. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
ProxySelector
public ProxySelector()
Методы
getDefault
public static ProxySelector getDefault()
Получает прокси-селектор системы.
- Возвращает:
- системный
ProxySelector - Исключение:
-
SecurityException- Если установлен менеджер безопасности и он запрещаетNetPermission("getProxySelector") - Since:
- 1.5
- См. также:
setDefault(ProxySelector)
setDefault
public static void setDefault(ProxySelector ps)
Устанавливает (или сбрасывает) прокси-селектор системы. Примечание: нестандартные обработчики протоколов могут игнорировать это значение.
- Параметры:
-
ps- Прокси-селектор HTTP, илиnullдля сброса прокси-селектора. - Исключение:
-
SecurityException- Если установлен менеджер безопасности и он запрещаетNetPermission("setProxySelector") - Since:
- 1.5
- См. также:
getDefault()
select
public abstract List<Proxy> select(URI uri)
Выбирает все применимые прокси на основе протокола доступа к ресурсу и адреса назначения. Формат URI определяется следующим образом:
- http URI для http соединений
- https URI для https соединений
-
socket://host:port
для tcp-соединений клиента
- Параметры:
-
uri- URI, для которого требуется соединение - Возвращает:
- список прокси. Каждый элемент списка имеет тип
Proxy; если прокси недоступен, список будет содержать один элемент типаProxy, представляющий прямое соединение. - Исключение:
-
IllegalArgumentException- если аргумент равен null
connectFailed
public abstract void connectFailed(URI uri,
SocketAddress sa,
IOException ioe) Вызывается для указания того, что соединение с прокси/соксом-сервером не может быть установлено. Реализация этого метода может временно удалить прокси или изменить порядок прокси, возвращаемых методом select(URI), используя адрес и исключение IOException, пойманное при попытке подключения.
- Параметры:
-
uri- URI, по которому прокси не смог выполнить свою задачу. -
sa- Адрес сокета прокси/SOCKS-сервера -
ioe- Исключение ввода-вывода, сгенерированное при неудачном подключении. - Исключение:
-
IllegalArgumentException- если любой из аргументов равен null
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.