Абмежаваць уліковыя даныя проксі 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.