JDK 25 HttpClient kò lò àwọn ọ̀nà SOCKS ti ProxySelector
Yan irin-ajo HTTP Java tí ó ń gbé SOCKS ró gan-an dípò gbára lé oríṣi tí ProxySelector ń dá padà nìkan.
Ohun proxy Java ń ṣàpèjúwe ọ̀nà kan. Ẹ̀rọ alábàákẹ́gbẹ́ nẹ́tíwọ́kì ṣì ń pinnu irú àwọn ọ̀nà tí ó lè lò. Èyí ṣe pàtàkì nígbà tí ibi-ìparí tí ó wà ń sọ SOCKS tí ohun-èlò náà sì ń lò java.net.http.HttpClient.
Nínú ìmúṣẹ JDK 25 tí a ṣàyẹ̀wò níbí, kóòdù ìbéèrè ẹ̀rọ HTTP gba olùdíje HTTP láti ọ̀dọ̀ olùyàn. Olùdíje SOCKS kò mú kí ó ṣe ìjíròrò SOCKS; ìmúṣẹ lè tẹ̀síwájú láìsí proxy. Nítorí náà ìdáhùn tí ó ṣàṣeyọrí kì í ṣe ẹ̀rí tó tó láti fi hàn pé a ti lò ìforúkọsílẹ̀ SOCKS ti olùyàn àkànṣe.
Kọ́kọ́ yan irin-ajo náà
Fún ohun-èlò tí ó wà tí ó dá lórí URLConnection, a lè fún olùṣàkóso ìlànà ní proxy tí ó ṣe kedere tí a gbé ró nígbà tí a ń ṣí ìsopọ̀:
Proxy route = new Proxy(Proxy.Type.SOCKS,
new InetSocketAddress("proxy.example", 1080));
URLConnection connection = URI.create("https://service.example/")
.toURL().openConnection(route);
connection.setConnectTimeout(5000);
connection.setReadTimeout(15000);
Fún àwọn ìdánwò àfojúsùn gbogbo ènìyàn tí a gbà láyè, lo ibi-ìparí SOCKS tí ó bá mu láti inú iṣẹ́ rẹ tàbí láti inú àkójọ proxy SOCKS. Èyí jẹ́ API ẹ̀rọ mìíràn, kì í ṣe ìkọ̀wé mìíràn ti HttpClient.Builder.proxy. Pa URL àfojúsùn mọ́ kí HTTPS lè máa dá ojú-ìwé tí a ní lọ́kàn mọ̀.
Ohun-èlò tí ó gbọdọ̀ pa java.net.http mọ́ lè lo ibi-ìparí proxy HTTP tí ó bá mu bí ìgbà náà, pẹ̀lú adáṣepọ̀ tí a fọwọ́ sí tí ó ń bójú tó ìsopọ̀ SOCKS tí ó tẹ̀lé. Ìyẹn ń fi ẹ̀ka gidi kan àti ààlà ìwọlé mìíràn kún; yíyí pọ́ọ̀tì 8080 sí 1080 kò fúnni ní ìtumọ̀ yẹn.
Jẹ́ kí yíyan àti gbígba hàn
Ṣàkọsílẹ̀ àbájáde olùyàn àti ìsopọ̀ tí ẹ̀rọ náà ń ṣí gan-an. Èkíní ń ṣàpèjúwe àbájáde ìlànà; èkejì ń fidi rẹ̀ múlẹ̀ bóyá ìmúṣẹ gbà á.
So àwọn ìparí pọ̀ mọ́ àyíká ìṣiṣẹ́ àti irin-ajo tí a ń lò. Àwọn ànímọ́ JVM SOCKS tí ìmúṣẹ sokẹ́tì kan ń lò kì í ṣe ìlérí pé gbogbo ilé-ìkàwé HTTP ń béèrè wọn. Nígbà tí ọ̀nà bá jẹ́ dandan, ó yẹ kí a dá irú proxy tí a kò gbé ró mọ̀ kí a tó gba ìbéèrè tààrà tí ó dàbí ẹni pé ó ṣàṣeyọrí.