HttpComponents HttpClient のサンプルコード

HttpClientは3.0までと4.0以後でクラス構成などがガラリと変わった。
日本語のサイトではまだ使用例が少ないので、情報収集にも苦労する。

というわけでシンプルにGETアクセスして、結果を表示するだけのサンプルプログラムを提供しましょう!

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

public class SimpleHttpClient {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws ClientProtocolException 
	 */
	public static void main(String[] args) throws ClientProtocolException, IOException {
		// TODO Auto-generated method stub
		DefaultHttpClient client = new DefaultHttpClient();
		HttpGet httpGet = new HttpGet("http://www.rutake.com/");
		HttpResponse httpResponse = client.execute(httpGet);
		
		System.out.println(httpResponse.getStatusLine());
		HttpEntity entity = httpResponse.getEntity();
		// ContentType表示
		System.out.println(entity.getContentType());
		// ContentEncoding表示
		System.out.println(entity.getContentEncoding());
		// Content-Length表示
		System.out.println(entity.getContentLength());

		// エンティティを見れるのは一回きり(二回以上呼ぶならString変数に入れておく)
		System.out.println(EntityUtils.toString(entity));
		
		// コネクションをクローズ
		entity.consumeContent();
		
		// httpクライアントは複数リクエストを投げられる、最後は終了
		client.getConnectionManager().shutdown();
	}

}
カテゴリー: Java タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.