Java URLConnection: подесите прокси без промене URL-а
Немојте адресирати прокси као веб сервер; проследите руту као засебну опцију Java везе.
Задржите стварни URL ресурса и проследите прокси засебно објекту 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 и замените документациону адресу проксија својом HTTP услугом или кандидатом са листе HTTP проксија. Веза и даље захтева https://example.com/report; прокси је њена рута. Ово подешавање не конфигурише ни акредитиве ни сваку HTTP библиотеку у JVM-у.
Погрешан код који прокси убаци у URL ресурса може добити брзу прокси страницу или грешку уместо извештаја. Упоредите статус, садржај и стварно одредиште пре него што тај брзи одговор протумачите као боље перформансе.
openConnection(Proxy) оставља путању ресурса на одредишном URI-ју. Задржите то име хоста и за проверу HTTPS сертификата; промена на посредника може додати неслагање имена грешци рутирања.
Ако апликација гради други HTTP клијент, користите тај клијент или његов интерфејс фабрике веза. Прокси објекат URLConnection не може конфигурисати путању која никада не позива овај API.