Aktivieren Sie bei der klassischen Apache-HttpClient-5-API die System-Properties beim Erstellen des Clients:

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.
}

Übergeben Sie die vorgesehenen Startargumente, etwa -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080, mit Ihrem echten Endpunkt. Die HTTP-Proxy-Liste liefert öffentliche Kandidaten, wenn diese Route erlaubt ist. Schließen Sie HTTPS- und Bypass-Properties für die beteiligten Ziele ein. Das bloße Setzen einer JVM-Property belegt nicht, dass dieser Client sie verwendet.

Die Builder-Referenz nennt die Properties, die von den Standardkomponenten berücksichtigt werden. Explizite Routenplaner oder andere bereitgestellte Komponenten können dieses Verhalten ändern.

Führen Sie Anfragen über diese konfigurierte Instanz aus. Eine Abhängigkeit, die einen anderen Client erzeugt, benötigt ihre eigene unterstützte Factory oder Proxy-Eingabe; ein ungenutzter Client daneben ändert nichts.

Bestimmen Sie die Bibliothek und die Importe in der fehlgeschlagenen Operation. Commons HttpClient 3, Apache HttpClient 4, HttpClient 5 und Javas java.net.http.HttpClient haben unterschiedliche Konfigurationsschnittstellen. Ein altes Klassenrezept kann einen Client nicht erklären, der diese Generation nie verwendet.

Ähnliche Artikel