Zachowaj rzeczywisty adres URL zasobu i przekaż proxy osobno do 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);

java.net importy i zastąp adres proxy z dokumentacji swoją usługą HTTP lub kandydatem z listy proxy HTTP. Połączenie nadal żąda https://example.com/report; proxy jest jego trasą. Ta konfiguracja nie ustawia ani danych logowania, ani każdej biblioteki HTTP w JVM.

Błędny kod, który wstawia proxy do adresu URL zasobu, może szybko otrzymać stronę WWW proxy lub błąd zamiast raportu. Porównaj status, treść i rzeczywisty cel, zanim uznasz tę szybką odpowiedź za lepszą wydajność.

openConnection(Proxy) pozostawia ścieżkę zasobu w docelowym URI. Zachowaj tę nazwę hosta także dla weryfikacji certyfikatu HTTPS; zastąpienie jej pośrednikiem może dodać niezgodność nazwy do błędu routingu.

Jeśli aplikacja tworzy innego klienta HTTP, użyj tego klienta lub jego interfejsu fabryki połączeń. Obiekt proxy URLConnection nie może skonfigurować ścieżki, która nigdy nie wywołuje tego API.

Powiązane artykuły