Apache HttpClient 5 Fluent에서 Executor를 사용한 프록시 인증
Fluent Request의 viaProxy 경로를 Apache HttpClient 5 Executor의 자격 증명과 결합하세요.
Apache HttpClient 5의 Fluent API에서 Request는 프록시를 선택하고 Executor는 그 계정을 제공합니다. 자격 증명이 있는 그 객체를 통해 요청을 실행하세요:
HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
.auth(proxy, proxyUser, proxyPassword.toCharArray());
String body = executor.execute(
Request.get("https://www.example.com/").viaProxy(proxy))
.returnContent()
.asString();
Executor와 Request는 org.apache.hc.client5.http.fluent에, HttpHost는 org.apache.hc.core5.http에 속합니다. 계정 변수는 애플리케이션 구성에서 가져옵니다.
프록시의 두 사용은 의도적으로 같은 호스트와 포트를 가리킵니다. viaProxy는 경로를 선택하고, auth는 그 중개자에 대한 자격 증명을 Executor에 등록합니다. 최종 결과가 여전히 407이면 선택한 경로와 자격 증명 범위를 비교하세요.
별도의 Request에서 편의 execute 메서드를 호출하면 다른 실행 경로를 사용합니다. 예제처럼 자격 증명이 있는 Executor를 작업에 연결해 두어야 챌린지를 받는 클라이언트가 구성된 계정을 갖습니다.
예제는 5.x의 char-array 비밀번호 인터페이스를 사용합니다. 오래된 HttpClient 4 Fluent 코드 조각은 다른 패키지와 메서드 시그니처를 사용합니다. 요청이 끝나면 returnContent는 응답 엔터티를 소비하고 연결을 재사용을 위해 해제합니다.