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 array പാസ്വേഡ്, ഹോസ്റ്റ്, പോർട്ട്, realm എന്നിവയോടെ. null realm ആ പരിമിത endpoint-ലെ ഏത് realm-നും ബാധകമാണ്.
പ്രോക്സിയുടെ authentication scheme-നും യഥാർത്ഥത്തിൽ വിന്യസിച്ച dependency-ക്കും യോജിക്കുന്ന overload ഉപയോഗിക്കുക. പഴയ HtmlUnit 2.x ഉദാഹരണങ്ങൾ വ്യത്യസ്ത പാക്കേജ് നാമങ്ങൾ ഉപയോഗിക്കുന്നു, string-password ഒപ്പുകളും ഉണ്ടായേക്കാം; മുകളിലെ കോഡ് 4.21.0 API ഉപയോഗിക്കുന്നു.