Limite las credenciales de proxy de HtmlUnit al host del proxy
Configure un proxy de HtmlUnit y use el ámbito de host/puerto del proveedor de credenciales, con los campos domain y workstation para NTLM.
La configuración de proxy de HtmlUnit selecciona el intermediario, y su proveedor de credenciales proporciona la cuenta para ese host y puerto. Para un proxy NTLM, la API de HtmlUnit 4.21.0 tiene un método dedicado:
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/");
}
Las clases usan los paquetes org.htmlunit actuales, con HtmlPage en org.htmlunit.html. Indique el workstation y el domain de la cuenta del proxy según el entorno; el sitio de destino no es el campo domain de NTLM.
Para una entrada genérica de usuario y contraseña, el mismo proveedor ofrece addCredentials con nombre de usuario, contraseña como matriz de char, host, puerto y realm. Un realm nulo se aplica a cualquier realm en ese endpoint delimitado.
Utilice la sobrecarga que coincida con el esquema de autenticación del proxy y con la dependencia realmente desplegada. Los ejemplos antiguos de HtmlUnit 2.x usan nombres de paquete distintos y pueden tener firmas con contraseña de cadena; el código anterior usa la API 4.21.0.