Spec-Zone.ru › OpenJDK 17

Интерфейс 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)
Устанавливает обработчик файлов cookie.
HttpClient.Builder executor(Executor executor)
Устанавливает исполнителя, который будет использоваться для асинхронных и зависимых задач.
HttpClient.Builder followRedirects(HttpClient.Redirect policy)
Указывает, будут ли запросы автоматически следовать перенаправлениям, выданным сервером.
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.
Параметры:
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

Spec-Zone.ru

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