[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 문서를 참고하시기 바랍니다.