Omijanie serwerów proxy dla jednego połączenia Java URLConnection za pomocą Proxy.NO_PROXY
Użyj Proxy.NO_PROXY dla obsługiwanego połączenia URL bez tymczasowej zmiany współdzielonych ustawień serwera proxy JVM.
Dla obsługiwanego połączenia HTTP lub HTTPS URL przekazanie Proxy.NO_PROXY czyni wybór bezpośredni jawnym:
URLConnection connection = URI.create("https://example.com/")
.toURL().openConnection(Proxy.NO_PROXY);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);Pozwala to uniknąć globalnej sekwencji ustawiania i przywracania wokół jednej operacji. Inne wątki mogą nadal korzystać z istniejącej polityki serwera proxy aplikacji.
Argument dotyczy tej ścieżki URLConnection. Nie zmienia konstruktora oddzielnego klienta HTTP, gniazd innej biblioteki ani konfiguracji sieciowej systemu operacyjnego.
Połączenie bezpośrednie nadal może się nie udać, jeśli sieć wymaga serwera proxy do dostępu zewnętrznego. Trzymaj ten błąd osobno od błędu uwierzytelniania serwera proxy: ta operacja celowo pominęła serwer proxy.
Zachowaj też zwykłą weryfikację TLS dla miejsca docelowego HTTPS. Wybór trasy bezpośredniej zmienia ścieżkę pośredniczącą; nie zmienia tożsamości, którą certyfikat miejsca docelowego musi potwierdzić.