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.

Articles similaires