РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1098 of 1163 menu

Класс HttpClient.Builder

Класс HttpClient.Builder является вложенным классом в HttpClient и используется для создания экземпляров HttpClient с заданными настройками. Получить объект HttpClient.Builder можно через статический метод newBuilder класса HttpClient. Билдер предоставляет методы для установки политики перенаправлений, таймаута соединения, исполнителя для асинхронных задач и других параметров. После настройки всех параметров вызывается метод build, который возвращает готовый объект HttpClient.

Синтаксис

HttpClient.Builder builder = HttpClient.newBuilder(); builder.followRedirects(Redirect policy); builder.connectTimeout(Duration duration); builder.executor(Executor executor); HttpClient client = builder.build();

Пример

Давайте создадим HTTP-клиент с таймаутом соединения в 10 секунд и политикой перенаправлений NORMAL, а затем выполним GET-запрос:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newBuilder() .followRedirects(HttpClient.Redirect.NORMAL) .connectTimeout(Duration.ofSeconds(10)) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .GET() .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode()); } }

Результат выполнения кода:

200

Пример

Давайте создадим клиент с пользовательским исполнителем для асинхронных запросов и политикой перенаправлений NEVER:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.concurrent.Executors; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newBuilder() .followRedirects(HttpClient.Redirect.NEVER) .executor(Executors.newFixedThreadPool(4)) .build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .GET() .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.uri()); } }

Результат выполнения кода:

"https://example.com"

Смотрите также

  • класс HttpClient,
    который представляет HTTP-клиент
  • метод newBuilder,
    который создает объект HttpClient.Builder
  • метод build,
    который создает объект HttpClient
  • метод send,
    который отправляет синхронный HTTP-запрос
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить