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

Метод GET

Метод GET класса HttpRequest создает объект HTTP-запроса с методом GET. Такой запрос используется для получения данных с сервера без изменения его состояния. Метод не принимает параметров и возвращает объект HttpRequest, готовый к отправке через HttpClient.

Обычно метод GET вызывается у объекта HttpRequest.Builder, который создается через HttpRequest.newBuilder. Перед вызовом GET у билдера необходимо задать URI с помощью метода uri.

Синтаксис

HttpRequest.Builder builder = HttpRequest.newBuilder(); builder.uri(URI.create("https://example.com")); HttpRequest request = builder.GET().build();

Либо в сокращенной форме:

HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .GET() .build();

Пример

Давайте создадим GET-запрос и отправим его на сервер с помощью HttpClient:

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://httpbin.org/get")) .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); System.out.println("Status code: " + response.statusCode()); System.out.println("Body: " + response.body()); } }

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

"Status code: 200" "Body: {...}"

Пример

Давайте создадим GET-запрос с дополнительным заголовком Accept и таймаутом:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.time.Duration; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/get")) .header("Accept", "application/json") .timeout(Duration.ofSeconds(10)) .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); System.out.println(response.statusCode()); System.out.println(response.headers().firstValue("content-type")); } }

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

"200" "Optional[application/json]"

Пример

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

import java.net.URI; import java.net.http.HttpRequest; public class Main { public static void main(String[] args) { HttpRequest getRequest = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .GET() .build(); HttpRequest postRequest = HttpRequest.newBuilder() .uri(URI.create("https://example.com")) .POST(HttpRequest.BodyPublishers.ofString("data")) .build(); System.out.println("GET method: " + getRequest.method()); System.out.println("POST method: " + postRequest.method()); } }

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

"GET method: GET" "POST method: POST"

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

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