Надсилання HTTP-запиту

Java:
Надсилання HTTP-запиту

Як Це Зробити:

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.time.Duration;

public class HttpExample {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.example.com/data"))
                .timeout(Duration.ofMinutes(1))
                .header("Content-Type", "application/json")
                .GET() // або .POST(BodyPublishers.ofString(json)), для надсилання даних
                .build();

        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            System.out.println("Статус: " + response.statusCode());
            System.out.println("Тіло відповіді: " + response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Вивід:

Статус: 200
Тіло відповіді: {"key":"value"}

Поглиблено:

Відправлення HTTP-запитів у Java – це не новина. З часів J2SE 1.4, HttpURLConnection була основним методом. Теперішня HttpClient API (з Java 11 і вище) пропонує сучасний та зручніший спосіб роботи з HTTP, як у синхронному, так і в асинхронному режимах.

Альтернативи – це бібліотеки сторонніх розробників, наприклад, Apache HttpClient або OkHttp. Вони пропонують розширені можливості та гнучкість, але для багатьох стандартних задач новий HttpClient API в Java буде цілком достатнім.

Про історію: HttpClient API було представлено в Java 9 як експериментальний API (JEP 110), але стало стандартним в Java 11 (JEP 321).

Дивіться Також: