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