単純にリクエストするだけなら、
URLConnection
を使うのがらくちん。
//リクエストURL作成
String requestUrl = "http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=myname";
URL accessURL = new URL(requestUrl);
//接続
URLConnection con = accessURL.openConnection();
で、openConnectionから戻ってきたときは、すでにサーバからの返答がconに入っている。
con.getInputStreamをhtmlないしXMLで解釈すればよい。
openConnectionというメソッドを使っているが、closeConnectionというメソッドがあるわけではない。
basic認証とかするなら、
URLHttpConnection
を使う。
//URL,その他セット
URL url = new URL("http://www.debian.org/");
HttpURLConnection urlconn = (HttpURLConnection)url.openConnection();
urlconn.setRequestMethod("GET");
urlconn.setInstanceFollowRedirects(false);
urlconn.setRequestProperty("Accept-Language", "ja;q=0.7,en;q=0.3");
//接続
Urlconn.connect();
//接続解除
urlconn.disconnect();
ちなみに、中身を表示するなら
connectとdisconnectの間で
Map headers = urlconn.getHeaderFields();
Iterator it = headers.keySet().iterator();
System.out.println("レスポンスヘッダ:");
while (it.hasNext()){
String key= (String)it.next();
System.out.println(" " + key + ": " + headers.get(key));
}
System.out.println("レスポンスコード[" + urlconn.getResponseCode() + "] " +
"レスポンスメッセージ[" + urlconn.getResponseMessage() + "]");
System.out.println("\n---- ボディ ----");
BufferedReader reader =
new BufferedReader(new InputStreamReader(urlconn.getInputStream()));
while (true){
String line = reader.readLine();
if ( line == null ){
break;
}
System.out.println(line);
}
reader.close();
とする。
参考ページ
http://x68000.q-e-d.net/~68user/net/java-http-url-connection-2.html
PR