HtmlUnit의 WebClient에서 프록시 설정하기
페이지를 로드하기 전에 HtmlUnit 자체의 ProxyConfig를 구성합니다. 엔드포인트 스킴과 정규식 우회 규칙도 포함합니다.
import org.htmlunit.ProxyConfig;
import org.htmlunit.WebClient;
try (WebClient browser = new WebClient()) {
ProxyConfig proxy =
new ProxyConfig("proxy.example.net", 8080, "http");
proxy.addHostsToProxyBypass("localhost");
browser.getOptions().setProxyConfig(proxy);
browser.getPage("https://example.net/");
}
탐색 전에 페이지를 로드하는 WebClient에 ProxyConfig을 설정합니다. 이것은 org.htmlunit 네임스페이스를 사용합니다. 이전 종속성은 com.gargoylesoftware.htmlunit을 사용했으며 다른 생성자를 노출할 수 있습니다.
이 공개 페이지 예제에서는 프록시 호스트와 정수 포트를 HTTP 프록시 목록의 인증되지 않은 후보로 바꿉니다. 생성자의 "http"는 HTTPS 페이지의 경우에도 중개자를 설명합니다. 호스트 이름 인수에 URL 접두사를 넣지 말고 대상과 맞추기 위해서만 프로토콜을 변경하지 마세요.
우회 값은 정규식이며 PAC 규칙이나 쉼표로 구분된 환경 목록이 아닙니다. 요청이 예기치 않게 직접 나가면 요청된 호스트를 해당 패턴과 비교하고 이 WebClient를 사용하는지 확인하세요.
별도로 생성된 WebClient나 HTTP 클라이언트는 이 구성 객체를 상속하지 않습니다. 동시 요청 주변에서 전역 상태를 변경하는 대신 재사용 가능한 인스턴스를 작업 전에 구성하세요. 대상 확인과 웹사이트 로그인은 별개로 유지됩니다. 인증 프록시는 설치된 HtmlUnit 버전의 자격 증명 인터페이스도 필요합니다. 예를 들어 HtmlUnit 4.21.0은 프록시 자격 증명을 호스트와 포트로 범위를 지정합니다.