Интерфейс 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 |
Указывает, будут ли запросы автоматически следовать перенаправлениям, отправленным сервером. |
default HttpClient.Builder |
localAddress |
Привязывает сокет к этому локальному адресу при создании подключений для отправки запросов. |
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/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)
- Примечание по реализации:
- Во встроенной реализации
HttpClientв JDK, если дляHttpRequestзадан заголовокAuthorizationилиProxy-Authorization, используется его значение, аAuthenticatorдля соответствующей аутентификации не вызывается. В этом случае ошибки аутентификации возвращаются пользователю, а запросы не повторяются автоматически. Кроме того, встроенная реализация JDK в настоящее время поддерживает только HTTP-аутентификациюBasic. - Параметры:
-
authenticator— Authenticator - Возвращает:
- этот построитель
localAddress
default HttpClient.Builder localAddress(InetAddress localAddr)
Если локальный адрес не задан или этому методу передано null, сокеты, созданные HTTP-клиентом, будут привязаны к автоматически назначенному адресу сокета.
Для распространенных случаев использования HttpClient вызывать этот метод не требуется. Задание локального адреса с помощью этого метода предназначено только для особых случаев, когда пользователям HttpClient требуется точно контролировать, какой сетевой интерфейс используется для HTTP-соединения. Предполагается, что вызывающие этот метод знают сетевую конфигурацию системы, в которой будет использоваться HttpClient; необходимо убедиться, что передан правильный localAddr. В противном случае запросы, отправленные через HttpClient, могут завершиться ошибкой.
- Требования к реализации:
- Реализация этого метода по умолчанию вызывает
UnsupportedOperationException.Builder, полученные с помощьюHttpClient.newBuilder(), предоставляют реализацию этого метода, позволяющую задать локальный адрес. - Параметры:
-
localAddr— локальный адрес сокета. Может быть равен null. - Возвращает:
- этот построитель
- Вызывает исключение:
-
UnsupportedOperationException— если этот построитель не поддерживает настройку локального адреса или если переданныйlocalAddrне поддерживается этой реализациейHttpClient. - Начиная с:
- 19
build
HttpClient build()
HttpClient, созданный на основе текущего состояния этого построителя.- Возвращает:
- новый
HttpClient - Вызывает исключение:
-
UncheckedIOException— может быть вызвано, если не удается выделить ресурсы ввода-вывода, необходимые реализации. Например, если реализации требуетсяSelector, а его открытие завершается ошибкой из-за недостатка необходимых ресурсов.
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.net.http/java/net/http/HttpClient.Builder.html