* 먼저 아래의 사이트에서 Binary로 된 압축파일을 하나 다운 받아 압축을 풀자.
* http://hc.apache.org/downloads.cgi
* 위와같이 HttpClient 파일이 준비되었다면, 이클립스를 열어 Java프로젝트를 생성하자.
* 본 글에서는 프로젝트명을 httpClient로 했고, 정리정돈을 위해 lib 폴더를 만들었다..
* 좀전에 압축 푼 파일의 lib폴더에 있는 모든 .jar 파일들을 프로젝트 내 lib 폴더로 복사하자.
* 이클립스에 복사된 모든 .jar파일을 선택해 빌드패쓰에 추가해주자.
* 우클릭 -> Build Path -> Add to Build Path
* 정상적으로 빌드패쓰에 추가가 되었다면 다음과 같은 화면이 나올 것이다.
* 다음으로는 이 라이브러리를 사용하기 위해 src 폴더에 기본 예제 소스코드들을 추가해보자. 아래 첨부 그림들 참조.
* src에서 우클릭 -> Import -> General -> File System -> Browse
* 디랙토리 선택 창까지 왔다면, 아까 압축 푼 파일의 examples 폴더를 선택하고 확인버튼을 눌러주자.
* 그러면 아래와 같이 파일시스템 좌측에 선택한 폴더가 뜨는데, 거기서 체크버튼을 누르고 완료한다.
* Import가 성공하면 아래와 같이 모든 examples 패키지가 들어가게 된다.
* 여기서 ClientWithResponseHandler를 열어보면 아래와 같은데, HttpGet의 주소명을 변경하고 실행하면 웹페이지의 내용을 가져올 수 있다.
package org.apache.http.examples.client;
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.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
/**
* This example demonstrates the use of the {@link ResponseHandler} to simplify
* the process of processing the HTTP response and releasing associated resources.
*/
public class ClientWithResponseHandler {
public final static void main(String[] args) throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
HttpGet httpget = new HttpGet("http://www.google.com/");
System.out.println("Executing request " + httpget.getRequestLine());
// Create a custom response handler
ResponseHandler responseHandler = new ResponseHandler() {
@Override
public String handleResponse(
final HttpResponse response) throws ClientProtocolException, IOException {
int status = response.getStatusLine().getStatusCode();
if (status >= 200 && status < 300) {
HttpEntity entity = response.getEntity();
return entity != null ? EntityUtils.toString(entity) : null;
} else {
throw new ClientProtocolException("Unexpected response status: " + status);
}
}
};
String responseBody = httpclient.execute(httpget, responseHandler);
System.out.println("----------------------------------------");
System.out.println(responseBody);
} finally {
httpclient.close();
}
}
}
댓글 없음:
댓글 쓰기