[java] HttpClient를 사용하여 인증이 필요한 프록시 서버에 연결하는 방법은?

애플리케이션에서 HttpClient를 사용하여 인증이 필요한 프록시 서버에 연결하는 방법에 대해 알아보겠습니다.

  1. HttpClient 객체 생성하기: HttpClient를 사용하기 위해 먼저 HttpClient 객체를 생성해야 합니다.
    HttpClient httpClient = HttpClient.newBuilder()
                            .proxy(ProxySelector.of(new InetSocketAddress(proxyHost, proxyPort))) // 프록시 서버 정보 설정
                            .build();
    
  2. Authenticator 설정하기: Authenticator를 사용하여 프록시 서버에 연결할 때 사용할 사용자 이름과 비밀번호를 설정할 수 있습니다.
    Authenticator authenticator = new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(proxyUsername, proxyPassword.toCharArray()); // 사용자 이름과 비밀번호 설정
        }
    };
    Authenticator.setDefault(authenticator);
    
  3. GET 또는 POST 요청 보내기: 생성한 HttpClient 객체를 사용하여 GET 또는 POST 요청을 보낼 수 있습니다.
    HttpRequest request = HttpRequest.newBuilder()
                            .uri(uri) // 요청할 URI 설정
                            .build();
    
    HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); // 요청 보내기
    String responseBody = response.body(); // 응답 본문 가져오기
    

이제 HttpClient를 사용하여 인증이 필요한 프록시 서버에 연결하는 방법을 알게 되었습니다. 위의 방법을 사용하여 프록시 서버와 확실한 연결을 수행할 수 있습니다.

참고: