JAVA > webページを取得する

「JAVA/webページを取得する」の編集履歴(バックアップ)一覧はこちら

JAVA/webページを取得する」(2011/12/19 (月) 15:22:51) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

** URLからコンテンツを取得します。 取得するにはURLクラスを使用します。~ charsetをしくじると化けます^^;~ サンプルクラスはURLからStringでコンテンツを取得します。~ とりあえず10回ぐらいリトライ機能もあります。~ import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class UrlUtil { /** * URLにより、コンテンツを取得する * 取得したコンテンツはString で返す * @param url * @return コンテンツ */ public static String getUrl2String(String url){ return getUrl2String(url, 0); } /** * URLにより、コンテンツを取得する * 取得したコンテンツはString で返す * @param url * @param errcnt * @return コンテンツ */ public static String getUrl2String(String url, int errcnt){ StringBuffer sb = new StringBuffer(); try { URL url2 = new URL(url); URLConnection conn = url2.openConnection(); String charset = conn.getContentType(); charset = charset.substring(charset.indexOf("=") + 1, charset.length() ); BufferedReader r = new BufferedReader( new InputStreamReader( conn.getInputStream(), charset )); char cha[] = new char[4096]; int n; while((n = r.read(cha, 0, cha.length)) != -1){ String s = new String(cha,0,n); sb.append( s ); // System.out.print(s); } } catch (Exception e){ e.getStackTrace(); if(errcnt < 10){ errcnt++; getUrl2String(url, errcnt); } } return sb.toString(); } } #comment()
** URLからコンテンツを取得します。 取得するにはURLクラスを使用します。~ charsetをしくじると化けます^^;~ サンプルクラスはURLからStringでコンテンツを取得します。~ とりあえず10回ぐらいリトライ機能もあります。~ import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class UrlUtil { /** * URLにより、コンテンツを取得する * 取得したコンテンツはString で返す * @param url * @return コンテンツ */ public static String getUrl2String(String url){ return getUrl2String(url, 0); } /** * URLにより、コンテンツを取得する * 取得したコンテンツはString で返す * @param url * @param errcnt * @return コンテンツ */ public static String getUrl2String(String url, int errcnt){ StringBuffer sb = new StringBuffer(); try { URL url2 = new URL(url); URLConnection conn = url2.openConnection(); String charset = conn.getContentType(); charset = charset.substring(charset.indexOf("=") + 1, charset.length() ); BufferedReader r = new BufferedReader( new InputStreamReader( conn.getInputStream(), charset )); char cha[] = new char[4096]; int n; while((n = r.read(cha, 0, cha.length)) != -1){ String s = new String(cha,0,n); sb.append( s ); // System.out.print(s); } } catch (Exception e){ e.getStackTrace(); if(errcnt < 10){ errcnt++; getUrl2String(url, errcnt); } } return sb.toString(); } } - bbb -- あああ (2011-12-19 15:22:51) #comment()

表示オプション

横に並べて表示:
変化行の前後のみ表示: