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

Метод send

Метод send класса HttpClient синхронно отправляет HTTP-запрос на сервер и возвращает ответ HttpResponse. В первый параметр мы передаем объект запроса HttpRequest, во второй - обработчик тела ответа HttpResponse.BodyHandler. Метод блокирует выполнение потока до получения ответа от сервера. Если во время выполнения возникает ошибка ввода-вывода, выбрасывается исключение IOException, а при прерывании потока - InterruptedException.

Синтаксис

client.send(request, responseBodyHandler)

Пример

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

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException, InterruptedException { 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.statusCode()); System.out.println(response.body()); } }

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

200 "<!doctype html>..."

Пример

Давайте отправим POST-запрос с телом и получим только статус ответа:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException, InterruptedException { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .header("Content-Type", "text/plain") .POST(HttpRequest.BodyPublishers.ofString("abcde")) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.statusCode()); } }

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

200

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

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