Ограничете акредитивите за прокси на HtmlUnit на хостот на проксито
Конфигурирајте прокси во HtmlUnit и користете го опсегот host/port на давателот на акредитиви, со полиња domain и workstation за NTLM.
Конфигурацијата на прокси во HtmlUnit го избира посредникот, а неговиот давател на акредитиви го обезбедува сметката за тој хост и порта. За NTLM прокси, API-то на HtmlUnit 4.21.0 има посебен метод:
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/");
}
Класите ги користат тековните пакети org.htmlunit, а HtmlPage е во org.htmlunit.html. Наведете ги workstation и domain на сметката за прокси според околината; целната веб-страница не е полето domain за NTLM.
За вообичаен внес на корисничко име и лозинка, истиот давател нуди addCredentials со корисничко име, лозинка како char низа, хост, порта и realm. Null realm важи за секој realm на тој ограничен endpoint.
Користете го преоптоварувањето што одговара на шемата за автентикација на проксито и на зависноста што е навистина распоредена. Старите примери на HtmlUnit 2.x користат други имиња на пакети и може да имаат потписи со текстуална лозинка; кодот погоре го користи API-то 4.21.0.