Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpHtSts 233 of 322 menu
◀ ▶

Код статуса ответа в Java

Первая строка ответа сервера содержит код состояния - трехзначное число. Клиент JDK кладет его в HttpResponse.statusCode. Тело при этом может быть пустым, но код все равно доступен.

Сервис httpbin.org умеет отвечать с заданным кодом по пути "/status/201". Так проверяют, что программа видит не только 200:

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.newBuilder().build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/status/201")) .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString(), ); System.out.println(response.statusCode()); } }

Обработчик ofString здесь нужен лишь как аргумент send: тело для 201 часто пустое, а код уже известен до его разбора:

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.newBuilder().build(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/status/201")) .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString(), ); System.out.println(response.statusCode()); System.out.println(response.body().isEmpty()); } }

Выведите код ответа для "https://httpbin.org/status/404".

Отправьте запрос на "https://httpbin.org/status/204" и напечатайте код и признак пустого тела через пробел.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить