Konfiguracja proxy w HtmlUnit wybiera pośrednika, a jej dostawca poświadczeń dostarcza konto dla tego hosta i portu. Dla proxy NTLM API HtmlUnit 4.21.0 ma dedykowaną 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/");
}

Klasy korzystają z bieżących pakietów org.htmlunit, a HtmlPage znajduje się w org.htmlunit.html. Podaj workstation i domain konta proxy zgodnie ze środowiskiem; witryna docelowa nie jest polem domain NTLM.

Dla zwykłego wpisu nazwy użytkownika i hasła ten sam dostawca oferuje addCredentials z nazwą użytkownika, hasłem jako tablicą char, hostem, portem i realm. Null realm dotyczy dowolnego realm w tym ograniczonym punkcie końcowym.

Użyj przeciążenia odpowiadającego schematowi uwierzytelniania proxy i faktycznie wdrożonej zależności. Stare przykłady HtmlUnit 2.x używają innych nazw pakietów i mogą mieć sygnatury z hasłem łańcuchowym; powyższy kod korzysta z API 4.21.0.

Powiązane artykuły