A configuración de proxy de HtmlUnit selecciona o intermediario, e o seu provedor de credenciais fornece a conta para ese host e porto. Para un proxy NTLM, a API de HtmlUnit 4.21.0 ten 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/");
}

As clases usan os paquetes org.htmlunit actuais, con HtmlPage en org.htmlunit.html. Indique o workstation e o domain da conta do proxy segundo a contorna; o sitio de destino non é o campo domain de NTLM.

Para unha entrada xenérica de usuario e contrasinal, o mesmo provedor ofrece addCredentials con nome de usuario, contrasinal como matriz de char, host, porto e realm. Un realm nulo aplícase a calquera realm nese endpoint delimitado.

Use a sobrecarga que coincida co esquema de autenticación do proxy e coa dependencia realmente despregada. Os exemplos antigos de HtmlUnit 2.x usan nomes de paquete distintos e poden ter sinaturas con contrasinal de cadea; o código anterior usa a API 4.21.0.

Artigos relacionados