Ограничьте учётные данные прокси HtmlUnit хостом прокси
Настройте прокси HtmlUnit и используйте область host/port поставщика учётных данных, с полями domain и workstation для NTLM.
Конфигурация прокси в HtmlUnit выбирает посредника, а её поставщик учётных данных предоставляет учётную запись для этого хоста и порта. Для NTLM-прокси в API HtmlUnit 4.21.0 есть отдельный метод:
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 учётной записи прокси в соответствии со средой; целевой сайт не является полем domain для NTLM.
Для обычной записи с именем пользователя и паролем тот же поставщик предлагает addCredentials с именем, паролем в виде char-массива, хостом, портом и realm. Null realm действует для любого realm на этой ограниченной конечной точке.
Используйте перегрузку, соответствующую схеме аутентификации прокси и фактически развёрнутой зависимости. Старые примеры HtmlUnit 2.x используют другие имена пакетов и могут иметь подписи со строковым паролем; приведённый код использует API 4.21.0.