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

Вложенный класс:
HttpClient
public static interface HttpClient.Builder

Построитель клиентов HTTP.

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

С момента:
11

Поля

Модификатор и типПолеОписание
static ProxySelectorNO_PROXY

Селектор прокси, который всегда возвращает Proxy.NO_PROXY, подразумевая прямое подключение.

Методы

Модификатор и типМетодОписание
HttpClient.Builderauthenticator​(Authenticator authenticator)

Устанавливает аутентификатор для использования при аутентификации HTTP.

HttpClientbuild()

Возвращает новый HttpClient, созданный на основе текущего состояния этого построителя.

HttpClient.BuilderconnectTimeout​(Duration duration)

Устанавливает время ожидания подключения для этого клиента.

HttpClient.BuildercookieHandler​(CookieHandler cookieHandler)

Устанавливает обработчик файлов cookie.

HttpClient.Builderexecutor​(Executor executor)

Устанавливает исполняемый модуль для использования в асинхронных и зависимых задачах.

HttpClient.BuilderfollowRedirects​(HttpClient.Redirect policy)

Указывает, будут ли запросы автоматически следовать перенаправлениям, выданным сервером.

HttpClient.Builderpriority​(int priority)

Устанавливает приоритет по умолчанию для любых запросов HTTP/2, отправленных от этого клиента.

HttpClient.Builderproxy​(ProxySelector proxySelector)

Устанавливает ProxySelector.

HttpClient.BuildersslContext​(SSLContext sslContext)

Устанавливает SSLContext.

HttpClient.BuildersslParameters​(SSLParameters sslParameters)

Устанавливает SSLParameters.

HttpClient.Builderversion​(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

Spec-Zone .ru
спецификации, руководства, описания, API