HtmlUnit 프록시 자격 증명을 프록시 호스트로 한정하기
HtmlUnit 프록시를 구성하고 자격 증명 공급자의 host/port 범위를 사용하세요. NTLM용 domain 및 workstation 필드도 함께 지정합니다.
HtmlUnit의 프록시 구성은 중개자를 선택하고, 자격 증명 공급자는 해당 호스트와 포트의 계정을 제공합니다. NTLM 프록시의 경우 HtmlUnit 4.21.0 API에는 전용 메서드가 있습니다:
String proxyHost = "proxy.example";
int proxyPort = 8080;
DefaultCredentialsProvider credentials = new DefaultCredentialsProvider();
credentials.addNTLMCredentials(
user, password.toCharArray(), proxyHost, proxyPort, workstation, domain);
try (WebClient browser = new WebClient()) {
browser.getOptions().setProxyConfig(
new ProxyConfig(proxyHost, proxyPort, "http"));
browser.setCredentialsProvider(credentials);
HtmlPage page = browser.getPage("https://www.example.com/");
}
이 클래스들은 현재의 org.htmlunit 패키지를 사용하며, HtmlPage는 org.htmlunit.html에 있습니다. 프록시 계정의 workstation과 domain은 환경에 맞게 지정하세요. 대상 웹사이트는 NTLM의 domain 필드가 아닙니다.
일반적인 사용자 이름/비밀번호 자격 증명에는 같은 공급자가 addCredentials를 제공하며, 사용자 이름, char 배열 비밀번호, 호스트, 포트, realm을 받습니다. null realm은 해당 범위 엔드포인트의 모든 realm에 적용됩니다.
프록시의 인증 방식과 실제로 배포한 의존성에 맞는 오버로드를 사용하세요. 오래된 HtmlUnit 2.x 예제는 패키지 이름이 다르고 문자열 비밀번호 시그니처를 가질 수 있습니다. 위 코드는 4.21.0 API를 사용합니다.