Faceți Apache HttpClient 5 să citească setările proxy ale JVM
Activați proprietățile de sistem într-un client Apache HttpClient 5 și inspectați suprascrierile explicite ale planificatorului de rute.
Pentru API-ul clasic Apache HttpClient 5, activați proprietățile de sistem la construirea clientului:
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.
}Furnizați argumentele de pornire dorite, cum ar fi -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080, folosind endpointul real. Lista de proxy HTTP oferă candidați publici când acea rută este permisă. Includeți proprietățile HTTPS și de ocolire pentru destinațiile implicate. Setarea doar a unei proprietăți JVM nu poate demonstra că acest client o folosește.
Referința constructorului identifică proprietățile luate în considerare de componentele sale implicite. Planificatoarele explicite de rute sau alte componente furnizate pot schimba acel comportament.
Efectuați cererile prin această instanță configurată. O dependență care construiește alt client are nevoie de propria fabrică sau intrare proxy acceptată; un client nefolosit alături nu schimbă nimic.
Identificați biblioteca și importurile în operațiunea eșuată. Commons HttpClient 3, Apache HttpClient 4, HttpClient 5 și java.net.http.HttpClient al Java au interfețe de configurare diferite. O rețetă veche de clasă nu poate explica un client care nu folosește niciodată acea generație.