Limiter les identifiants proxy de HtmlUnit à l'hôte du proxy
Configurez un proxy HtmlUnit et utilisez la portée hôte/port du fournisseur d'identifiants, avec les champs domain et workstation pour NTLM.
La configuration proxy de HtmlUnit choisit l'intermédiaire, et son fournisseur d'identifiants fournit le compte pour cet hôte et ce port. Pour un proxy NTLM, l'API HtmlUnit 4.21.0 dispose d'une méthode dédiée :
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/");
}
Les classes utilisent les paquets org.htmlunit actuels, avec HtmlPage dans org.htmlunit.html. Renseignez le workstation et le domain du compte proxy selon l'environnement ; le site de destination n'est pas le champ domain de NTLM.
Pour une saisie générique nom d'utilisateur/mot de passe, le même fournisseur propose addCredentials avec le nom d'utilisateur, le mot de passe en tableau de char, l'hôte, le port et le realm. Un realm nul s'applique à tout realm sur ce point de terminaison délimité.
Utilisez la surcharge correspondant au schéma d'authentification du proxy et à la dépendance réellement déployée. Les anciens exemples HtmlUnit 2.x utilisent d'autres noms de paquets et peuvent avoir des signatures à mot de passe chaîne ; le code ci-dessus utilise l'API 4.21.0.