Webページデータの読み取り サンプル
/*
* WebSimple.java
*/
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.util.regex.*;
import java.util.*;
import java.text.*;
public class WebSimple {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();//Stringとよく似た機能をもつクラス。文字列を結合する処理
//が多いときには効率が良い。
String strHttptext="";//Webサーバーから読み取ったHTTPテキストデータを入れる
String strWork="";//作業用変数
String url="http://mm1.osu.ac.jp";//サイトのurlを入れる
URL urlObj; //ネットワーク接続に使うURLを保持する
HttpURLConnection urlCon; //Webサイトに接続するためのクラス
BufferedReader urlIn; //Webサイトからのデータを受け取るためのクラス
String str;
System.out.println("URL=" + url);
String CharEnc="JISAutoDetect";//サイトの文字コードの切り替えに使用。
//CharEnc="EUC-JP";
//CharEnc="UTF-8";
//CharEnc="JISAutoDetect";
try {
// URLオブジェクトの作成
urlObj = new URL(url);//インターネット接続のためのURL型オブジェクト
System.out.println("URL=" + url);
// URL接続
urlCon = (HttpURLConnection)urlObj.openConnection();//サイトに接続する
urlCon.setRequestMethod("GET");//サイトにGETコマンドを送り、Webページデータを要求する。
//ネットワークからの入力データはBufferedReaderで受け取る。(ファイル処理と同様)
urlIn = new BufferedReader(
new InputStreamReader(
// urlCon.getInputStream(),"JISAutoDetect"));
urlCon.getInputStream(),CharEnc));//文字コードも指定する。
//文字コード形式はCharEnc内で指定されている
//レスポンスメッセージを受け取り、表示
System.out.println(urlCon.getResponseMessage());
System.out.println("レスポンスコード[" + urlCon.getResponseCode() + "] " +
"レスポンスメッセージ[" + urlCon.getResponseMessage() );
// HTMLデータをStringBuffer sbに入れる。データはstrWorkにまとめて入っている
while ((strWork = urlIn.readLine()) != null) {
sb.append(strWork);
//strHttptext += strWork;
}
//HTMLデータをjTextArea1に表示する。
System.out.println(sb.toString());
// URL切断
urlIn.close();
urlCon.disconnect();
} catch (Exception ex) {
//ここは例外が発生したときの処理。つまりエラーが発生したときの処理。
//レスポンスコードとして-Error-と表示
System.out.println("-Error-");
System.out.println(ex.toString());
}
}
}
}
▼研究演習ホームに戻る
▼小松原研究室公開ページ
|
|