[java] HttpClient를 사용하여 웹 서버에서 받은 응답 데이터를 저장하는 방법은?
HttpClient를 사용하면 웹 서버에서 받은 응답 데이터를 간단하게 저장할 수 있습니다. 아래는 HttpClient를 사용하여 웹 서버에서 응답을 받고 데이터를 저장하는 예제 코드입니다.
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class HttpClientExample {
public static void main(String[] args) {
String url = "http://example.com/api/data";
// HttpClient 객체 생성
try (CloseableHttpClient httpClient = HttpClientBuilder.create().build()) {
// HTTP GET 요청 생성
HttpGet httpGet = new HttpGet(url);
// 서버로부터 응답 받기
HttpResponse response = httpClient.execute(httpGet);
// 응답의 상태 코드 확인
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200) {
// 응답 데이터 가져오기
HttpEntity entity = response.getEntity();
if (entity != null) {
// 응답 데이터를 파일로 저장
try (InputStream inputStream = entity.getContent();
OutputStream outputStream = new FileOutputStream("data.txt")) {
inputStream.transferTo(outputStream);
}
}
}
// 응답을 닫기
EntityUtils.consumeQuietly(response.getEntity());
} catch (IOException e) {
e.printStackTrace();
}
}
}
위 코드에서는 HttpClient를 사용하여 주어진 URL로 HTTP GET 요청을 보내고, 서버로부터 받은 응답을 파일로 저장하는 과정을 보여줍니다. http://example.com/api/data
는 실제로 요청하는 도메인과 경로에 맞게 수정해야 합니다.
위의 코드는 Apache HttpClient 라이브러리를 사용하며, httpclient
, httpcore
등의 의존성을 프로젝트에 추가해야 합니다.
이 코드를 실행하면, 지정한 경로에 data.txt
라는 파일이 생성되고, 해당 파일에 웹 서버에서 받은 데이터가 저장됩니다.
더 자세한 내용은 Apache HttpClient 문서를 참고하시기 바랍니다.