[java] Java에서 Apache HttpClient를 사용하는 방법은?

Java에서 네트워크 요청을 처리하기 위해 Apache HttpClient를 사용할 수 있습니다. Apache HttpClient는 다양한 기능을 제공하여 HTTP 요청을 쉽게 만들고 보낼 수 있습니다.

아래는 Java에서 Apache HttpClient를 사용하는 간단한 예제 코드입니다.

먼저, Maven을 사용하여 Apache HttpClient를 프로젝트에 추가해야 합니다. pom.xml 파일에 다음 의존성을 추가합니다.

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>

다음으로, HttpClient를 사용하여 GET 또는 POST 요청을 보내는 방법을 살펴보겠습니다.

GET 요청 예제:

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
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;

import java.io.IOException;

public class HttpClientExample {
    public static void main(String[] args) {
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet httpGet = new HttpGet("https://api.example.com/data");
            HttpResponse response = httpClient.execute(httpGet);
            
            HttpEntity entity = response.getEntity();
            String responseBody = EntityUtils.toString(entity);
            System.out.println(responseBody);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 HttpGet 객체를 생성하여 원하는 URL로 GET 요청을 보냅니다. 그런 다음 응답 결과를 읽어옵니다.

POST 요청 예제:

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import java.io.IOException;

public class HttpClientExample {
    public static void main(String[] args) {
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            String requestBody = "{\"username\":\"example\", \"password\":\"password123\"}";

            HttpPost httpPost = new HttpPost("https://api.example.com/login");
            httpPost.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));

            HttpResponse response = httpClient.execute(httpPost);

            HttpEntity entity = response.getEntity();
            String responseBody = EntityUtils.toString(entity);
            System.out.println(responseBody);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제에서는 HttpPost 객체를 생성하여 JSON 형식의 요청 바디를 설정한 후, POST 요청을 보냅니다.

위의 예제 코드를 사용하여 Java에서 Apache HttpClient를 사용하여 HTTP 요청을 보낼 수 있습니다. HttpClient를 사용하는 방법에 대한 자세한 내용은 Apache HttpClient Documentation를 참조하십시오.