1. 개요
이 사용방법(예제)에서는 HttpClient를 사용하여 사용자 지정 헤더를 설정하는 방법을 살펴보겠습니다.
더 깊이 파고 들고 HttpClient로 할 수 있는 다른 멋진 것들을 배우고 싶다면 메인 HttpClient 예제로 넘어가십시오 .
2. 요청 시 헤더 설정 – 4.3 이상
HttpClient 4.3은 요청을 작성하는 새로운 방법인 RequestBuilder를 도입했습니다 . 헤더를 설정하려면 빌더 에서 setHeader 메소드를 사용합니다 .
HttpClient client = HttpClients.custom().build();
HttpUriRequest request = RequestBuilder.get()
.setUri(SAMPLE_URL)
.setHeader(HttpHeaders.CONTENT_TYPE, "application/json")
.build();
client.execute(request);
3. 요청 시 헤더 설정 – 4.3 이전
HttpClient의 4.3 이전 버전에서는 요청에 대한 간단한 setHeader 호출을 사용하여 요청 에 대한 사용자 정의 헤더를 설정할 수 있습니다 .
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(SAMPLE_URL);
request.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
client.execute(request);
보시다시피 요청에서 직접 Content-Type을 JSON이라는 사용자 지정 값으로 설정하고 있습니다.
4. 클라이언트에서 기본 헤더 설정
각 요청에 대해 헤더를 설정하는 대신 클라이언트 자체 의 기본 헤더로 구성 할 수도 있습니다 .
Header header = new BasicHeader(HttpHeaders.CONTENT_TYPE, "application/json");
List<Header> headers = Lists.newArrayList(header);
HttpClient client = HttpClients.custom().setDefaultHeaders(headers).build();
HttpUriRequest request = RequestBuilder.get().setUri(SAMPLE_URL).build();
client.execute(request);
이것은 헤더가 사용자 정의 애플리케이션 헤더와 같이 모든 요청에 대해 동일해야 할 때 매우 유용합니다.
5. 결론
이 기사에서는 Apache HttpClient를 통해 전송된 하나 또는 모든 요청에 HTTP 헤더를 추가하는 방법을 설명했습니다.
이러한 모든 예제와 코드 스니펫의 구현은 GitHub 프로젝트 에서 찾을 수 있습니다 .