Интерфейс HttpClient.Builder
- Вложенный класс:
- HttpClient
public static interface HttpClient.Builder
Построители создаются путём вызова newBuilder. Каждый из методов-сеттеров изменяет состояние построителя и возвращает тот же экземпляр. Построители не потокобезопасны и не должны использоваться одновременно из нескольких потоков без внешней синхронизации.
- С:
- 11
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final ProxySelector |
NO_PROXY |
Селектор прокси, который всегда возвращает Proxy.NO_PROXY, подразумевая прямое подключение. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
HttpClient.Builder |
authenticator |
Устанавливает аутентификатор для использования в HTTP-аутентификации. |
HttpClient |
build() |
Возвращает новый HttpClient, построенный на основе текущего состояния этого построителя. |
HttpClient.Builder |
connectTimeout |
Устанавливает время ожидания подключения для этого клиента. |
HttpClient.Builder |
cookieHandler |
Устанавливает обработчик файлов cookie. |
HttpClient.Builder |
executor |
Устанавливает исполнителя, который будет использоваться для асинхронных и зависимых задач. |
HttpClient.Builder |
followRedirects |
Указывает, будут ли запросы автоматически следовать перенаправлениям, выданным сервером. |
HttpClient.Builder |
priority |
Устанавливает приоритет по умолчанию для всех запросов HTTP/2, отправляемых от этого клиента. |
HttpClient.Builder |
proxy |
Устанавливает ProxySelector. |
HttpClient.Builder |
sslContext |
Устанавливает SSLContext. |
HttpClient.Builder |
sslParameters |
Устанавливает SSLParameters. |
HttpClient.Builder |
version |
Запрашивает определённую версию протокола HTTP, где это возможно. |
Подробное описание полей
NO_PROXY
static final ProxySelector NO_PROXY
Proxy.NO_PROXY, подразумевая прямое подключение. Это удобный объект, который можно передать в proxy(ProxySelector) для создания экземпляра HttpClient, который не использует прокси.
Подробное описание методов
cookieHandler
HttpClient.Builder cookieHandler(CookieHandler cookieHandler)
- Параметры:
-
cookieHandler- обработчик файлов cookie - Возвращает:
- этот билдер
connectTimeout
HttpClient.Builder connectTimeout(Duration duration)
В случае необходимости нового подключения, если подключение не может быть установлено в течение заданного
duration, тогда HttpClient::send выбрасывает HttpConnectTimeoutException, или HttpClient::sendAsync завершается с ошибкой HttpConnectTimeoutException. Если новое подключение не требуется, например, если подключение может быть повторно использовано из предыдущего запроса, то это время ожидания не влияет.
- Параметры:
-
duration- время, которое разрешено для установления базового соединения - Возвращает:
- этот билдер
- Исключения:
-
IllegalArgumentException- если время равно или меньше нуля
sslContext
HttpClient.Builder sslContext(SSLContext sslContext)
SSLContext. Если этот метод не вызывается перед созданием, то недавно созданные клиенты будут использовать по умолчанию, что обычно достаточно для клиентских приложений, которым не нужно указывать протоколы или требуется проверка клиента.
- Параметры:
-
sslContext- SSLContext - Возвращает:
- этот билдер
sslParameters
HttpClient.Builder sslParameters(SSLParameters sslParameters)
SSLParameters. Если этот метод не вызывается перед созданием, то недавно созданные клиенты будут использовать набор параметров по умолчанию, специфичный для реализации.
Некоторые параметры, используемые внутри реализации HTTP-клиента (например, список протоколов приложения), не должны устанавливаться вызывающими сторонами, так как они могут быть проигнорированы. Содержимое заданного объекта копируется.
- Параметры:
-
sslParameters- SSLParameters - Возвращает:
- этот билдер
executor
HttpClient.Builder executor(Executor executor)
Если этот метод не вызывается перед созданием, для каждого вновь созданного
HttpClient создается исполнители по умолчанию.
- Примечание реализации:
- Исполнитель по умолчанию использует пул потоков с пользовательской фабрикой потоков. Если установлен менеджер безопасности, фабрика потоков создает потоки, которые выполняются с контекстом управления доступом без прав.
- Параметры:
-
executor- Executor - Возвращает:
- этот билдер
followRedirects
HttpClient.Builder followRedirects(HttpClient.Redirect policy)
Если этот метод не вызывается перед созданием, то недавно созданные клиенты будут использовать политику перенаправления по умолчанию NEVER.
- Параметры:
-
policy- политика перенаправления - Возвращает:
- этот билдер
version
HttpClient.Builder version(HttpClient.Version version)
Если этот метод не вызывается перед созданием, то недавно созданные клиенты отдадут предпочтение HTTP/2.
Если задано значение HTTP/2, то каждый запрос будет пытаться перейти к HTTP/2. Если обновление прошло успешно, то ответ на этот запрос будет использовать HTTP/2, и все последующие запросы и ответы к тому же серверу будут использовать HTTP/2. Если обновление не удалось, то ответ будет обработан с использованием HTTP/1.1
- Примечание реализации:
- Ограничения также могут повлиять на выбор версии протокола. Например, если HTTP/2 запрашивается через прокси, и если реализация не поддерживает этот режим, то может использоваться HTTP/1.1
- Параметры:
-
version- запрашиваемая версия протокола HTTP - Возвращает:
- этот билдер
priority
HttpClient.Builder priority(int priority)
1 до 256 (включительно).- Параметры:
-
priority- приоритет - Возвращает:
- этот билдер
- Исключения:
-
IllegalArgumentException- если заданный приоритет не входит в диапазон
proxy
HttpClient.Builder proxy(ProxySelector proxySelector)
ProxySelector.- Примечание API:
-
ProxySelector::ofпредоставляетProxySelector, который использует один прокси для всех запросов. Системный селектор прокси можно получить с помощьюProxySelector.getDefault(). - Примечание реализации:
- Если этот метод не вызывается перед созданием, то недавно созданные клиенты будут использовать селектор прокси по умолчанию, что обычно подходит для клиентских приложений. Селектор прокси по умолчанию поддерживает набор системных свойств, связанных с настройками прокси. Это поведение по умолчанию может быть отключено путем явного указания селектора прокси, например,
NO_PROXYили того, который возвращаетсяProxySelector::of, перед созданием. - Параметры:
-
proxySelector- ProxySelector - Возвращает:
- этот билдер
authenticator
HttpClient.Builder authenticator(Authenticator authenticator)
- Параметры:
-
authenticator- Authenticator - Возвращает:
- этот билдер
build
HttpClient build()
HttpClient, созданный на основе текущего состояния этого билдера.- Возвращает:
- новый
HttpClient - Исключения:
-
UncheckedIOException- может быть выброшен, если подлежащие ресурсы ввода/вывода, необходимые для реализации, не могут быть выделены. Например, если реализация требуетSelector, а открытие его завершается из-за нехватки необходимых ресурсов.
© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.net.http/java/net/http/HttpClient.Builder.html