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.

Artículos relacionados