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

Метод ofByteArray

Метод ofByteArray класса HttpResponse.BodyHandlers создает и возвращает обработчик тела HTTP-ответа, который сохраняет тело в виде массива байтов (byte[]). Этот метод не принимает параметров. Полученный обработчик передается вторым параметром в метод send или метод sendAsync объекта HttpClient. Результатом выполнения запроса будет объект HttpResponse<byte[]>, у которого метод body вернет массив байтов.

Синтаксис

HttpResponse.BodyHandlers.ofByteArray()

Пример

Давайте выполним GET-запрос и получим тело ответа в виде массива байтов:

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() ); byte[] res = response.body(); System.out.println(res.length); } }

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

1256

Пример

Давайте преобразуем полученный массив байтов в строку и выведем ее на экран:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.charset.StandardCharsets; 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() ); byte[] res = response.body(); String text = new String(res, StandardCharsets.UTF_8); System.out.println(text); } }

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

"<!doctype html>..."

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

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