Spec-Zone.ru › OpenJDK 24

Интерфейс HttpClient.Builder

Вложенный класс:
HttpClient
public static interface HttpClient.Builder
Построитель HTTP-клиентов.

Построители создаются путём вызова newBuilder. Каждый из методов-сеттеров изменяет состояние построителя и возвращает тот же экземпляр. Построители не потокобезопасны и не должны использоваться одновременно из нескольких потоков без внешней синхронизации.

С тех пор:
11

Краткое описание полей

Модификатор и тип Поле Описание
static final ProxySelector NO_PROXY
Селектор прокси, который всегда возвращает Proxy.NO_PROXY, что подразумевает прямое соединение.

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

Модификатор и тип Метод Описание
HttpClient.Builder authenticator(Authenticator authenticator)
Устанавливает аутентификатор для использования в HTTP-аутентификации.
HttpClient build()
Возвращает новый HttpClient, построенный на основе текущего состояния этого построителя.
HttpClient.Builder connectTimeout(Duration duration)
Устанавливает время ожидания соединения для этого клиента.
HttpClient.Builder cookieHandler(CookieHandler cookieHandler)
Устанавливает обработчик куки.
HttpClient.Builder executor(Executor executor)
Устанавливает исполнителя для использования в асинхронных и зависимых задачах.
HttpClient.Builder followRedirects(HttpClient.Redirect policy)
Указывает, будут ли запросы автоматически следовать перенаправлениям, выданным сервером.
default HttpClient.Builder localAddress(InetAddress localAddr)
Связывает сокет с этим локальным адресом при создании подключений для отправки запросов.
HttpClient.Builder priority(int priority)
Устанавливает приоритет по умолчанию для любых запросов HTTP/2, отправляемых с этого клиента.
HttpClient.Builder proxy(ProxySelector proxySelector)
Устанавливает ProxySelector.
HttpClient.Builder sslContext(SSLContext sslContext)
Устанавливает SSLContext.
HttpClient.Builder sslParameters(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-аутентификации.
Примечание реализации:
В встроенной реализации HttpClient JDK, если у HttpRequest есть заголовок Authorization или Proxy-Authorization, то его значение используется, и Authenticator не вызывается для соответствующей аутентификации. В этом случае любые ошибки аутентификации возвращаются пользователю, и запросы не пересылаются автоматически.
Параметры:
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://download.java.net/java/early_access/jdk24/docs/api/java.net.http/java/net/http/HttpClient.Builder.html

Spec-Zone.ru

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