Pour l'API classique d'Apache HttpClient 5, activez les propriétés système lors de la construction du client :

import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;

try (CloseableHttpClient client = HttpClients.custom()
        .useSystemProperties()
        .build()) {
    // Execute the application's HTTP work with this client.
}

Fournissez les arguments de démarrage prévus, par exemple -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080, avec votre véritable point de terminaison. La liste de proxys HTTP propose des candidats publics lorsque cette route est autorisée. Incluez les propriétés HTTPS et de contournement pour les destinations concernées. Le simple fait de définir une propriété JVM ne prouve pas que ce client l'utilise.

La référence du constructeur identifie les propriétés prises en compte par ses composants par défaut. Des planificateurs de routes explicites ou d'autres composants fournis peuvent modifier ce comportement.

Effectuez les requêtes via cette instance configurée. Une dépendance qui construit un autre client a besoin de sa propre fabrique ou entrée de proxy prise en charge ; un client inutilisé à côté ne change rien.

Identifiez la bibliothèque et les imports dans l'opération échouée. Commons HttpClient 3, Apache HttpClient 4, HttpClient 5 et le java.net.http.HttpClient de Java ont des interfaces de configuration différentes. Une ancienne recette de classe ne peut pas expliquer un client qui n'utilise jamais cette génération.

Articles similaires