Authentification proxy dans Apache HttpClient 5 Fluent avec Executor
Associez la route viaProxy d'une Fluent Request aux identifiants de son Apache HttpClient 5 Executor.
Dans l'API Fluent d'Apache HttpClient 5, la Request peut choisir un proxy tandis que l'Executor fournit son compte. Exécutez la requête via cet objet porteur d'identifiants :
HttpHost proxy = new HttpHost("http", "proxy.example", 8080);
Executor executor = Executor.newInstance()
.auth(proxy, proxyUser, proxyPassword.toCharArray());
String body = executor.execute(
Request.get("https://www.example.com/").viaProxy(proxy))
.returnContent()
.asString();
Executor et Request viennent de org.apache.hc.client5.http.fluent ; HttpHost vient de org.apache.hc.core5.http. Les variables du compte proviennent de la configuration de l'application.
Les deux usages du proxy décrivent volontairement le même hôte et le même port. viaProxy choisit la route, tandis que auth enregistre les identifiants de cet intermédiaire auprès de l'Executor. Si le résultat final reste 407, comparez la route choisie à la portée des identifiants.
Appeler la méthode execute pratique d'une Request séparée emprunterait un autre chemin d'exécution. Gardez l'Executor porteur d'identifiants attaché à l'opération, comme dans l'exemple, afin que le client qui reçoit le défi dispose du compte configuré.
L'exemple utilise l'interface de mot de passe char-array de 5.x. Les anciens extraits HttpClient 4 Fluent utilisent d'autres paquets et signatures de méthodes. Une fois la requête terminée, returnContent consomme l'entité de réponse et libère sa connexion pour réutilisation.