Метод statusCode
Метод statusCode возвращает целочисленный
код состояния HTTP из ответа сервера. Параметров
метод не принимает. Код состояния позволяет
определить результат обработки запроса: например,
200 означает успешный ответ, 404 - ресурс
не найден, 500 - внутренняя ошибка сервера.
Метод вызывается у объекта HttpResponse, который
получается при отправке запроса через HttpClient.
Синтаксис
response.statusCode()
Пример
Давайте отправим запрос на сервер и выведем код состояния ответа:
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.statusCode());
}
}
Результат выполнения кода:
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.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com/missing"))
.GET()
.build();
HttpResponse<String> response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
int status = response.statusCode();
if (status == 200) {
System.out.println("Success");
} else if (status == 404) {
System.out.println("Not Found");
} else {
System.out.println("Status: " + status);
}
}
}
Результат выполнения кода:
"Not Found"
Смотрите также
-
класс
HttpResponse,
который представляет ответ сервера -
метод
body,
который возвращает тело ответа -
метод
headers,
который возвращает заголовки ответа -
метод
send,
который отправляет HTTP-запрос