Java で、サイトにアクセスして HTML を取得する方法

Perl だとほんの数行で書けてしまうことが Java だと結構かかる (C だともっとかかる)。以下は STR_URL で指定した URL の内容 (HTML) を取ってきてコンソールに表示する例。何をしているかはコメントをご覧ください。
import java.net.URL;
import java.net.HttpURLConnection;
import java.io.InputStreamReader;
import java.io.BufferedReader;

...

// アクセスする URL を文字列に設定する。
String STR_URL = "https://perltips.twinkle.cc/";

// URLを作成する。
URL url = new java.net.URL(STR_URL);

// 接続を取得する (接続は new して作るのではなく、openConnection メソッドで取得する)。
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET"); // ←ここは任意。なくても良い

// リーダーを読んでHTTPレスポンスを取得する。
// ただし,リクエストした先のURLが画像などの場合は、InputStreamでバイト列として扱う。
// 文字エンコーディングは「JISAutoDetect」で自動検出させる。
InputStreamReader isr = new java.io.InputStreamReader(conn.getInputStream(), "JISAutoDetect");
BufferedReader br = new java.io.BufferedReader(isr);

// 受信したストリームを表示
String line = null;
while (null != (line = br.readLine())) {
    System.out.println(line);
}

// ストリームならびに接続をクローズ
br.close();
conn.disconnect();

...
トラックバック URL: https://perltips.twinkle.cc/trackback/39
Posted on 2005-12-20 by yas |