TGViewer
Java Ready | Программирование Java Ready | Программирование @java_ready · 9.25K subscribers
Post #2124 1.45K
Делаем простой HTTP-запрос через HttpClient!

Иногда нужно без сторонних библиотек сходить в API, получить JSON или проверить доступность. Начиная с Java 11 для этого есть встроенный HttpClient.

Сначала создадим клиент:
HttpClient client = HttpClient.newHttpClient();


Теперь соберём request:
HttpRequest request = HttpRequest.newBuilder()


Укажем адрес:
.uri(URI.create("https://api.github.com"))


Выберем GET-запрос:
.GET()


И соберём объект:
.build();


Ответ можно получить синхронно:
var response = client.send(request,
HttpResponse.BodyHandlers.ofString());


Код статуса лежит отдельно:
System.out.println(response.statusCode());


Тело ответа можно прочитать так:
System.out.println(response.body());


Для реального кода почти всегда стоит добавить timeout. Тогда запрос не сможет зависнуть навсегда:
.timeout(Duration.ofSeconds(5))


Если запросов много, клиент лучше переиспользовать. Он потокобезопасный и нормально подходит для сервисов, CLI-утилит и фоновых задач.

Такой подход удобен, когда нужно быстро сделать интеграцию без OkHttp, Apache HttpClient и других зависимостей.

👉 Java Ready | #практика
  • 👍 12
  • ❤ 5
  • 🔥 5
More from @java_ready
  1. Oct 5, 2026Почему после Stream.toList() нельзя добавить элемент? При работе со Stream часто нужно соб…
  2. Oct 5, 2026Как оплачивать зарубежные сервисы в 2026 году? Можно бегать между посредниками и бояться б…
  3. Oct 5, 2026Находим три самых популярных товара! Есть поток покупок с повторяющимися названиями. Постр…
  4. Oct 2, 2026photo post
  5. Oct 1, 2026Следим за появлением файлов в папке через WatchService! Создадим наблюдатель и зарегистрир…
  6. Oct 1, 2026Шпаргалка по sealed-иерархиям в Java! На картинке показано, как sealed-класс ограничивает…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →