A l'API Fluent d'Apache HttpClient 5, el Request pot triar un proxy mentre l'Executor proporciona el seu compte. Executeu la petició a través d'aquest objecte amb credencials:

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 i Request provenen de org.apache.hc.client5.http.fluent; HttpHost prové de org.apache.hc.core5.http. Les variables del compte provenen de la configuració de l'aplicació.

Els dos usos del proxy descriuen intencionadament el mateix amfitrió i port. viaProxy tria la ruta, mentre que auth registra les credencials d'aquest intermediari a l'Executor. Si el resultat final continua sent 407, compareu la ruta seleccionada amb l'abast de les credencials.

Cridar el mètode execute de conveniència d'un Request separat faria servir una altra via d'execució. Mantingueu l'Executor amb credencials vinculat a l'operació, com a l'exemple, perquè el client que rep el desafiament tingui el compte configurat.

L'exemple utilitza la interfície de contrasenya char-array de 5.x. Els fragments antics de HttpClient 4 Fluent fan servir paquets i signatures de mètodes diferents. Quan la petició acaba, returnContent consumeix l'entitat de resposta i allibera la connexió per reutilitzar-la.

Articles relacionats