Java URLConnection: ange proxyn utan att andra URL:en
Adressera inte proxyn som en webbserver – skicka rutten som ett separat Java-anslutningsalternativ.
Behåll resursens riktiga URL och skicka proxyn separat till URLConnection:
URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);
Använd importerna från java.net och ersätt dokumentationens proxyadress med din HTTP-tjänst eller en kandidat från listan över HTTP-proxyer. Anslutningen begär fortfarande https://example.com/report; proxyn är dess rutt. Den här inställningen konfigurerar varken autentiseringsuppgifter eller alla HTTP-bibliotek i JVM:en.
Felaktig kod som sätter in proxyn i resursens URL kan få en snabb proxysida eller ett fel i stället för rapporten. Jämför status, innehåll och faktisk destination innan du tolkar det snabba svaret som bättre prestanda.
openConnection(Proxy) lämnar resurssökvägen på mål-URI:n. Behåll det värdnamnet även för HTTPS-certifikatverifiering; att byta det mot mellanhanden kan lägga till en namnmissmatchning i routningsfelet.
Om programmet bygger en annan HTTP-klient använder du den klienten eller dess anslutningsfabriksgränssnitt. Ett proxyobjekt av typen URLConnection kan inte konfigurera en väg som aldrig anropar detta API.