HTTPリクエストの送信

Java:
HTTPリクエストの送信

How to: (やり方)

以下のサンプルコードを使って、JavaでHTTP GETリクエストを送る方法を見てみましょう。

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) {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("http://example.com"))
                .build();

        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
                .thenApply(HttpResponse::body)
                .thenAccept(System.out::println)
                .join();
    }
}

サンプル出力:

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</html>

Deep Dive (深く掘り下げて)

かつてJavaでは、HttpURLConnection クラスを使ってHTTPリクエストを送っていましたが、Java 11からは java.net.http.HttpClient クラスが導入され、よりシンプルかつモダンなAPIとして推奨されています。他の言語のライブラリと同様に、非同期処理もサポートされています。HttpClientの使用により、HTTP/2のサポートやWebSocketなど、他にも強力な機能を利用できます。

See Also (関連情報)