강좌 & 팁
글 수 2,412
2013.03.17 12:58:46 (*.166.239.180)
99262
아파치 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(); } } }
[실행결과]
위의 실행결과를 확인해보면 브자우저 주소창에 http://forum.falinux.com을 입력했을때 화면에 표시해주는 html정보를이 실행 결과로 출력됩니다.
요청에 대한 실행결과는 response.getStatusLine()으로 확인 합니다.
요청에 대한 응답이 정상일 경우 "HTTP/1.1 200 OK"와 같이 표시됩니다.
HttpClient라이브러를 사용하면 Java응용프로그램에서도 쉽게 web서버에 http요청과 응답을 쉽게 받을수 있습니다.
다음시간은 POST에 대해 알아보도록 하겠습니다.
감사합니다.