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

Класс HttpRequest.BodyPublishers

Класс HttpRequest.BodyPublishers содержит статические методы, позволяющие создать тело HTTP-запроса из различных источников: строки, файла, массива байтов или потока данных. Полученный объект типа HttpRequest.BodyPublisher затем передается в метод POST или PUT билдера запроса. Если тело запроса не требуется, используется метод noBody.

Синтаксис

HttpRequest.BodyPublishers.ofString(String body) HttpRequest.BodyPublishers.ofFile(Path path) HttpRequest.BodyPublishers.noBody()

Пример

Давайте создадим тело запроса из строки и передадим его в POST-запрос с помощью метода ofString:

import java.net.http.HttpRequest; import java.net.http.HttpClient; import java.net.http.HttpResponse; import java.net.URI; public class Main { public static void main(String[] args) throws Exception { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/post")) .POST(HttpRequest.BodyPublishers.ofString("abcde")) .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode()); } }

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

200

Пример

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

import java.net.http.HttpRequest; import java.net.http.HttpClient; import java.net.http.HttpResponse; import java.net.URI; public class Main { public static void main(String[] args) throws Exception { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/get")) .method("GET", HttpRequest.BodyPublishers.noBody()) .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode()); } }

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

200

Пример

Давайте создадим тело запроса из файла с помощью метода ofFile:

import java.net.http.HttpRequest; import java.net.http.HttpClient; import java.net.http.HttpResponse; import java.net.URI; import java.nio.file.Path; public class Main { public static void main(String[] args) throws Exception { Path path = Path.of("data.txt"); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/post")) .POST(HttpRequest.BodyPublishers.ofFile(path)) .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode()); } }

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

200

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

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