Սահմանափակել HtmlUnit-ի պրոքսի հավատարմագրերը պրոքսի հոսթով
Կարգավորեք HtmlUnit պրոքսի և օգտագործեք հավատարմագրերի մատակարարի host/port շրջանակը՝ NTLM-ի համար domain և workstation դաշտերով։
HtmlUnit-ի պրոքսի կարգավորումն ընտրում է միջնորդին, իսկ դրա հավատարմագրերի մատակարարը տալիս է այդ հոսթի և պորտի հաշիվը։ NTLM պրոքսիի համար HtmlUnit 4.21.0 API-ն ունի առանձին մեթոդ՝
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-ը՝ ըստ միջավայրի. նպատակակետ կայքը NTLM-ի domain դաշտը չէ։
Սովորական օգտանուն/գաղտնաբառ գրառման համար նույն մատակարարը առաջարկում է addCredentials՝ օգտանունով, char զանգվածով գաղտնաբառով, հոսթով, պորտով և realm-ով։ Null realm-ը գործում է այդ սահմանափակ endpoint-ի ցանկացած realm-ի համար։
Օգտագործեք այն overload-ը, որը համապատասխանում է պրոքսիի նույնականացման սխեմային և փաստացի տեղադրված կախվածությանը։ HtmlUnit 2.x-ի հին օրինակներն օգտագործում են այլ փաթեթների անուններ և կարող են ունենալ տողային գաղտնաբառի ստորագրություններ. վերևի կոդը օգտագործում է 4.21.0 API-ն։