HttpURLConnection.usingProxy() kabla na baada ya kuunganisha
Elewa usingProxy kama hali ya mshughulikiaji, ikiwa ni pamoja na tabia ya proksi bayana ya OpenJDK 25 kabla ya muunganisho kuanzishwa.
HttpURLConnection hufichua usingProxy, lakini matokeo yanahitaji utekelezaji na hali ya muunganisho kando yake. Hii si ombi la majaribio.
Katika mshughulikiaji wa HTTP wa OpenJDK 25, proksi ya HTTP iliyowekwa wazi inaweza kufanya mbinu irudishe true kabla ya muunganisho wa mtandao kufunguliwa:
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();Mgombea wa HTTP kutoka orodha ya proksi za HTTP anaweza kujaza mwenyeji na bandari kwa ombi la umma lililoruhusiwa bila uthibitishaji wa proksi. openConnection huunda kitu. Haiweki muunganisho wa HTTP kwa kurudisha kitu hicho pekee. Kwa hiyo bendera katika kisa hiki cha proksi bayana haithibitishi kuwa mpatanishi anafikiwa au anakubali ombi.
Kwa uchaguzi wa kiotomatiki, uchaguzi wa njia unaweza kutokea baadaye mshughulikiaji anapounganisha. Matokeo ya false ya mapema hayapaswi kuchukuliwa kama uamuzi wa mwisho wa njia. Baada ya muunganisho, tafsiri hali pamoja na hitilafu au jibu lolote, hasa pale uthibitishaji au njia mbadala ilipohusika.
Mbinu ya umma ni ya HttpURLConnection, ilhali tabia iliyo juu ni mahususi kwa mshughulikiaji wa OpenJDK aliyetajwa. Mtoa huduma mwingine au utekelezaji mwingine wa JDK haupaswi kuonyesha maelezo sawa kabla ya muunganisho.
Rekodi jinsi proksi ilivyochaguliwa na bendera iliposomwa. Ili kuthibitisha anwani ya chanzo inayoonekana kwa lengo, hifadhi ushahidi kutoka upande wa lengo; alama ya proksi ya boolean haina sehemu ya anwani hiyo ya kutoka.