Метод newBuilder
Метод newBuilder класса HttpClient создает
и возвращает новый объект HttpClient.Builder.
Строитель позволяет пошагово настроить параметры
HTTP-клиента: политику перенаправлений, таймаут
соединения, исполнитель задач, обработчик cookie
и другие. Параметров метод не принимает. После
настройки строителя вызывается метод build,
который возвращает готовый объект HttpClient.
Синтаксис
HttpClient.newBuilder()
Пример
Давайте создадим HTTP-клиент с помощью строителя,
полученного методом newBuilder, и выведем его
в консоль:
import java.net.http.HttpClient;
public class Main
{
public static void main(String[] args)
{
HttpClient client = HttpClient.newBuilder().build();
System.out.println(client);
}
}
Результат выполнения кода:
"jdk.internal.net.http.HttpClientImpl@..."
Пример
Давайте настроим клиент так, чтобы он не следовал
перенаправлениям, и установим таймаут соединения
в 5 секунд:
import java.net.http.HttpClient;
import java.time.Duration;
public class Main
{
public static void main(String[] args)
{
HttpClient client = HttpClient.newBuilder()
.followRedirects(HttpClient.Redirect.NEVER)
.connectTimeout(Duration.ofSeconds(5))
.build();
System.out.println(client);
}
}
Результат выполнения кода:
"jdk.internal.net.http.HttpClientImpl@..."
Пример
Давайте создадим клиент через newBuilder и отправим
простой GET-запрос, получив тело ответа в виде строки:
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main
{
public static void main(String[] args) throws Exception
{
HttpClient client = HttpClient.newBuilder().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
Смотрите также
-
класс
HttpClient,
который отправляет HTTP-запросы -
метод
newHttpClient,
который создает клиент по умолчанию -
класс
HttpClient.Builder,
который настраивает параметры клиента -
метод
build,
который возвращает готовый HttpClient