아파치 HttpClient 라이브러리는 HTTP 요청처리 단순화해 간단하게 사용할 수 있습니다.

[라이브러리 다운로드] 

HttpClient 클래스를 통해 데이터를 보낼 수 있는데, 이 클래스의 인스턴스는 DefaultHttpClient ()로 생성 합니다.
DefaultHttpClient은 표준 HttpClient이며 HTTP 연결을 처리하기 위해 SingleClientConnManager 클래스를 사용합니다.

HttpClient 데이터를주고받을 수있는 HttpUriRequest을 사용합니다. 
HttpUriRequest의 중요한 하위 클래스는 HttpGet 및 HttpPost 있습니다. 

이번시간은 HttpGet의 사용방법을 간단한 샘플 소스로 알아보도록 하겠습니다.
[샘플소스]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
 
public class HttpClientGet {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
 
		// HttpClient 생성
		HttpClient httpclient = new DefaultHttpClient();
		try {
			// HttpGet생성
			HttpGet httpget = new HttpGet("http://forum.falinux.com");
 
			System.out.println("executing request " + httpget.getURI());
			HttpResponse response = httpclient.execute(httpget);
			HttpEntity entity = response.getEntity();
 
			System.out.println("----------------------------------------");
			// 응답 결과
			System.out.println(response.getStatusLine());
			if (entity != null) {
				System.out.println("Response content length: "
						+ entity.getContentLength());
				BufferedReader rd = new BufferedReader(new InputStreamReader(
						response.getEntity().getContent()));
 
				String line = "";
				while ((line = rd.readLine()) != null) {
					System.out.println(line);
				}
			}
			httpget.abort();
			System.out.println("----------------------------------------");
			httpclient.getConnectionManager().shutdown();
 
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			httpclient.getConnectionManager().shutdown();
		}
	}
 
}

[실행결과]
httpclienget.PNG

위의 실행결과를 확인해보면 브자우저 주소창에 http://forum.falinux.com을 입력했을때 화면에 표시해주는 html정보를이 실행 결과로 출력됩니다.
요청에 대한 실행결과는 response.getStatusLine()으로 확인 합니다.
요청에 대한 응답이 정상일 경우 "HTTP/1.1 200 OK"와 같이 표시됩니다.

HttpClient라이브러를 사용하면 Java응용프로그램에서도 쉽게 web서버에 http요청과 응답을 쉽게 받을수 있습니다.
다음시간은 POST에 대해 알아보도록 하겠습니다.

감사합니다.