HttpURLConnection.usingProxy() туташууга чейин жана кийин
usingProxy'ни иштетүүчүнүн абалы катары түшүнүңүз, анын ичинде OpenJDK 25'тин туташууга чейинки ачык прокси жүрүм-туруму.
HttpURLConnection usingProxy'ни көрсөтөт, бирок натыйжага жанында туташуунун ишке ашырылышы жана абалы керек. Бул сыноо сурамы эмес.
OpenJDK 25'тин HTTP иштетүүчүсүндө ачык конфигурацияланган HTTP прокси тармактык туташуу ачылганга чейин ыкманын true кайтарышына алып келиши мүмкүн:
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var url = URI.create("http://example.com/").toURL();
var connection = (HttpURLConnection) url.openConnection(proxy);
boolean proxyFlag = connection.usingProxy();HTTP прокси тизмесинен HTTP талапкери прокси аутентификациясыз уруксат берилген коомдук сурам үчүн хост жана портту толтура алат. openConnection объектини түзөт. Ал объектини кайтаруу менен гана HTTP туташуусун орнотпойт. Ошондуктан бул ачык прокси учурундагы желек ортомчунун жеткиликтүү экенин же сурамды кабыл аларын далилдебейт.
Автоматтык тандоодо маршрут тандоо иштетүүчү туташканда кийинчерээк болушу мүмкүн. Эрте false натыйжасын акыркы маршрут чечими деп эсептебеңиз. Туташкандан кийин абалды кандайдыр бир өзгөчөлүк же жооп менен бирге чечмелеңиз, өзгөчө аутентификация же камдык жол катышканда.
Коомдук ыкма HttpURLConnection'го таандык, ал эми жогорудагы жүрүм-турум аталган OpenJDK иштетүүчүсүнө гана тиешелүү. Башка провайдер же JDK ишке ашырылышы ошол эле туташууга чейинки деталдарды көрсөтүүгө милдеттүү эмес.
Прокси кантип тандалганын жана желек качан окулганын жазыңыз. Максат көргөн булак дарегин аныктоо үчүн максат тараптан далилдерди сактаңыз; логикалык прокси белгисинде ошол чыгуу дареги үчүн талаа жок.