Beperk HtmlUnit-proxyreferenties tot de proxyhost
Configureer een HtmlUnit-proxy en gebruik het host/port-bereik van de referentieprovider, met domain- en workstationvelden voor NTLM.
De proxyconfiguratie van HtmlUnit kiest de tussenpersoon, en de referentieprovider levert het account voor die host en poort. Voor een NTLM-proxy heeft de HtmlUnit 4.21.0-API een eigen methode:
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/");
}
De klassen gebruiken de huidige org.htmlunit-pakketten, met HtmlPage in org.htmlunit.html. Geef de workstation en domain van het proxyaccount op volgens de omgeving; de bestemmingswebsite is niet het NTLM-domainveld.
Voor een gewone gebruikersnaam/wachtwoord-invoer biedt dezelfde provider addCredentials met gebruikersnaam, wachtwoord als char-array, host, poort en realm. Een null-realm geldt voor elke realm op dat afgebakende endpoint.
Gebruik de overload die past bij het authenticatieschema van de proxy en bij de daadwerkelijk uitgerolde afhankelijkheid. Oude HtmlUnit 2.x-voorbeelden gebruiken andere pakketnamen en hebben soms string-wachtwoordhandtekeningen; de code hierboven gebruikt de 4.21.0-API.