Limite as credenciais de proxy do HtmlUnit ao host do proxy
Configure um proxy HtmlUnit e use o escopo host/porta do provedor de credenciais, com os campos domain e workstation para NTLM.
A configuração de proxy do HtmlUnit seleciona o intermediário, e seu provedor de credenciais fornece a conta para esse host e porta. Para um proxy NTLM, a API do HtmlUnit 4.21.0 tem um 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 classes usam os pacotes org.htmlunit atuais, com HtmlPage em org.htmlunit.html. Informe o workstation e o domain da conta do proxy conforme o ambiente; o site de destino não é o campo domain do NTLM.
Para uma entrada genérica de usuário e senha, o mesmo provedor oferece addCredentials com nome de usuário, senha como matriz de char, host, porta e realm. Um realm nulo aplica-se a qualquer realm nesse endpoint delimitado.
Use a sobrecarga que corresponde ao esquema de autenticação do proxy e à dependência realmente implantada. Exemplos antigos do HtmlUnit 2.x usam nomes de pacote diferentes e podem ter assinaturas com senha em string; o código acima usa a API 4.21.0.