Begränsa HtmlUnits proxyuppgifter till proxyvärden
Konfigurera en HtmlUnit-proxy och använd credential-providerns host/port-omfång, med fälten domain och workstation för NTLM.
HtmlUnits proxykonfiguration väljer mellanhanden, och dess credential-provider tillhandahåller kontot för den värden och porten. För en NTLM-proxy har HtmlUnit 4.21.0-API:t en dedikerad metod:
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/");
}
Klasserna använder de aktuella org.htmlunit-paketen, med HtmlPage i org.htmlunit.html. Ange proxykontots workstation och domain enligt miljön; målwebbplatsen är inte NTLM-fältet domain.
För en generisk post med användarnamn/lösenord erbjuder samma provider addCredentials med username, lösenord som char-array, host, port och realm. Ett null-realm gäller för alla realm på den begränsade endpointen.
Använd den överlagring som matchar proxyns autentiseringsmetod och den beroendeversion som faktiskt är installerad. Gamla HtmlUnit 2.x-exempel använder andra paketnamn och kan ha signaturer med stränglösenord; koden ovan använder 4.21.0-API:t.