[java] HttpClient를 사용하여 Basic 인증 헤더를 추가하는 방법은?
  1. HttpClient 객체를 생성합니다.
HttpClient httpClient = HttpClient.newBuilder()
        .version(HttpClient.Version.HTTP_1_1)
        .build();
  1. HttpRequest 객체를 생성하고, 인증 헤더를 추가합니다.
String username = "사용자명";
String password = "비밀번호";
String url = "인증이 필요한 URL";

String auth = username + ":" + password;
byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes(StandardCharsets.UTF_8));
String authHeaderValue = "Basic " + new String(encodedAuth);

HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Authorization", authHeaderValue)
        .build();
  1. HttpClient로 HttpRequest를 실행하고, 응답을 받습니다.
HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
String responseBody = response.body();

System.out.println(responseBody);

위의 코드는 Java 11에서 사용할 수 있는 HttpClient를 이용한 예제입니다. 사용자명과 비밀번호를 Base64로 인코딩하여 Authorization 헤더에 추가하면, 요청을 보낼 때 인증이 진행되어 안전한 통신이 가능합니다.

참고 자료: