Spec-Zone.ru › OpenJDK 27

Класс ProxySelector

java.lang.Object
java.net.ProxySelector
public abstract class ProxySelector extends Object
Выбирает прокси-сервер, если он нужен, для подключения к сетевому ресурсу, на который указывает URL. Селектор прокси — это конкретный подкласс данного класса, который регистрируется вызовом метода setDefault. Зарегистрированный в данный момент селектор прокси можно получить вызовом метода getDefault.

После регистрации селектора прокси, например, подкласс класса URLConnection должен вызывать метод select для каждого запроса URL, чтобы селектор прокси мог определить, следует ли использовать прямое или проксируемое соединение. Метод select возвращает итератор по коллекции с предпочтительными способами подключения.

Если не удаётся установить соединение с прокси-серверами (PROXY или SOCKS), вызывающий код должен вызвать метод селектора прокси connectFailed, чтобы уведомить селектор прокси о недоступности прокси-сервера.

Селектор прокси по умолчанию обеспечивает соблюдение набора системных свойств, связанных с настройками прокси.

Начиная с версии:
1.5

Краткое описание конструкторов

Конструктор Описание
ProxySelector()
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe)
Вызывается, чтобы сообщить, что не удалось установить соединение с прокси-сервером или SOCKS-сервером.
static ProxySelector getDefault()
Возвращает общесистемный селектор прокси.
static ProxySelector of(InetSocketAddress proxyAddress)
Возвращает селектор ProxySelector, использующий указанный адрес прокси для всех HTTP- и HTTPS-запросов.
abstract List<Proxy> select(URI uri)
Выбирает все подходящие прокси на основе протокола доступа к ресурсу и адреса назначения ресурса.
static void setDefault(ProxySelector ps)
Устанавливает (или сбрасывает) общесистемный селектор прокси.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определённого времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения определённого времени.

Подробное описание конструкторов

ProxySelector

public ProxySelector()
Конструктор для вызова подклассами.

Подробное описание методов

getDefault

public static ProxySelector getDefault()
Возвращает общесистемный селектор прокси.
Возвращает:
общесистемный ProxySelector
Начиная с версии:
1.5
См. также:
  • setDefault(ProxySelector)

setDefault

public static void setDefault(ProxySelector ps)
Устанавливает (или сбрасывает) общесистемный селектор прокси. Примечание: обработчики нестандартных протоколов могут игнорировать эту настройку.
Параметры:
ps — селектор HTTP-прокси или null для сброса селектора прокси.
Начиная с версии:
1.5
См. также:
  • getDefault()

select

public abstract List<Proxy> select(URI uri)
Выбирает все подходящие прокси на основе протокола доступа к ресурсу и адреса назначения ресурса. Формат URI определяется следующим образом:
  • URI http для HTTP-соединений
  • URI https для HTTPS-соединений
  • socket://host:port
    для соединений клиентских сокетов TCP
Параметры:
uri — URI, для которого требуется установить соединение
Возвращает:
список прокси. Каждый элемент списка имеет тип Proxy; если прокси недоступен, список будет содержать один элемент типа Proxy, обозначающий прямое соединение.
Выбрасывает:
IllegalArgumentException — если аргумент равен null или если протокол либо хост не удаётся определить по указанному uri

connectFailed

public abstract void connectFailed(URI uri, SocketAddress sa, IOException ioe)
Вызывается, чтобы сообщить, что не удалось установить соединение с прокси-сервером или SOCKS-сервером. Реализация этого метода может временно удалить прокси или изменить порядок прокси, возвращаемых методом select(URI), используя адрес и IOException, перехваченное при попытке подключения.
Параметры:
uri — URI, для которого прокси по адресу sa не смог обслужить запрос.
sa — адрес сокета прокси-сервера/SOCKS-сервера
ioe — исключение ввода-вывода, возникшее при сбое подключения.
Выбрасывает:
IllegalArgumentException — если любой из аргументов равен null

of

public static ProxySelector of(InetSocketAddress proxyAddress)
Возвращает селектор ProxySelector, использующий указанный адрес прокси для всех HTTP- и HTTPS-запросов. Если proxyAddress равен null, использование прокси отключается.
Параметры:
proxyAddress — адрес прокси
Возвращает:
селектор ProxySelector
Начиная с версии:
9

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API