[java] HttpClient를 사용하여 웹 사이트에 HEAD 요청을 보내는 방법은?
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpHead;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class HttpClientExample {
    public static void main(String[] args) {
        // HttpClient 인스턴스 생성
        HttpClient httpClient = HttpClientBuilder.create().build();
        
        // HEAD 요청을 보낼 URL 설정
        String url = "https://www.example.com";
        
        // HttpHead 객체 생성
        HttpHead httpHead = new HttpHead(url);
        
        try {
            // HEAD 요청 보내기
            HttpResponse response = httpClient.execute(httpHead);
            
            // 응답 상태 코드 확인
            int statusCode = response.getStatusLine().getStatusCode();
            System.out.println("Status Code: " + statusCode);
            
            // 응답 헤더 확인
            System.out.println("--- Response Headers ---");
            Arrays.stream(response.getAllHeaders())
                    .forEach(header -> System.out.println(header.getName() + ": " + header.getValue()));
                    
            // 응답 본문은 HEAD 요청에서는 존재하지 않으므로 출력하지 않음
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // HttpClient 종료
            httpClient.getConnectionManager().shutdown();
        }
    }
}

위의 코드는 HttpClient를 사용하여 웹 사이트에 HEAD 요청을 보내는 예제입니다. 해당 코드를 실행하면 지정한 URL에 대한 HEAD 요청을 보내고, 응답 상태 코드와 헤더를 출력합니다. 이때, HEAD 요청은 응답 본문을 포함하지 않으므로, 응답 본문을 출력하지 않습니다.

HttpClient는 Apache HttpComponents 라이브러리를 사용하여 HTTP 요청을 처리하는 라이브러리입니다. 따라서, HttpClient를 사용하기 위해서는 해당 라이브러리의 의존성을 추가해야 합니다.

참고: