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

Класс HttpResponse.BodyHandlers

Класс HttpResponse.BodyHandlers является частью HTTP-клиента Java и представляет собой фабрику готовых обработчиков для тела ответа. Он используется в методах send и sendAsync класса HttpClient для указания того, в каком виде необходимо получить данные от сервера. Класс содержит статические методы, каждый из которых возвращает объект типа BodyHandler. Первый параметр методов определяет целевой тип данных, а дополнительные параметры (например, кодировка или путь к файлу) уточняют логику обработки.

Синтаксис

HttpResponse.BodyHandlers.ofString() HttpResponse.BodyHandlers.ofString(Charset charset) HttpResponse.BodyHandlers.ofByteArray() HttpResponse.BodyHandlers.ofFile(Path path)

Пример

Давайте получим тело ответа в виде строки, используя обработчик ofString:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newHttpClient(); 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.body().substring(0, 20)); } }

Результат выполнения кода (первые 20 символов ответа):

"<!doctype html>..."

Пример

Давайте получим тело ответа в виде массива байтов и выведем его длину:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .GET() .build(); HttpResponse<byte[]> response = client.send( request, HttpResponse.BodyHandlers.ofByteArray() ); System.out.println(response.body().length); } }

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

1256

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

  • класс HttpResponse,
    который представляет ответ сервера
  • метод body,
    который возвращает тело ответа
  • метод ofFile,
    который сохраняет тело в файл
  • метод send,
    который отправляет запрос и получает ответ
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить