Java SE 9では、標準化が完了していないAPIを実験的に導入するために「Incubator Module」が用意されたことを前回紹介しました。Java SE 9で提供されるIncubator Moduleは1つだけ。今回紹介する「HTTP/2 Client」です。

 HTTP/2 Clientの概要を簡単におさらいしておきましょう。HTTP/2 Clientは、java.net.HttpURLConnectionクラスを置きかえることを目的としたAPIです。HTTP/2だけでなく、HTTP/1.1やWebSocketもサポートする、HTTP通信のためのAPIとなります。

 主なクラス/インタフェースは以下の4つです。

  • HttpClientクラス
  • HttpRequestクラス
  • HttpResponseクラス
  • WebSocketインタフェース

 今回は、HTTP/1.1のGETメソッドを例に基本的な使い方を示します。HTTP/1.1のPOSTメソッド、HTTP/2、WebSocketについては次回以降に紹介する予定です。

基本的な使用法

 まずは最も基本的な、HTTP通信のGETでWebページを取得してみましょう。ページを取得するまでの手順は以下の通りです。

  1. HttpClientオブジェクトの生成
  2. HttpRequestオブジェクトを生成し、HTTPリクエストを作成
  3. HttpClientオブジェクトから、HTTPリクエストを送信
  4. HttpResponseオブジェクトを使用して、HTTPレスポンスを処理

 では、実際のコードを見ていきましょう。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら