「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()