د Java پروکسي شی یوه لاره بیانوي. شبکه یي کلاینټ لا هم پریکړه کوي چې کوم ډول لارې کارولی شي. دا مهم دی کله چې شته پای ټکی SOCKS وایي او اپلیکیشن java.net.http.HttpClient کاروي.

دلته څیړل شوي JDK 25 تطبیق کې، د HTTP کلاینټ غوښتنې کوډ له ټاکونکي څخه یو HTTP نوماند مني. SOCKS نوماند هغه ته نه وایي چې د SOCKS خبرې اترې ترسره کړي؛ تطبیق کولی شي پرته له پروکسي دوام وکړي. نو بریالۍ ځواب د دې کافي شاهد نه دی چې د ځانګړي ټاکونکي SOCKS ننوتنه کارول شوې ده.

لومړی انتقال وټاکئ

د URLConnection پر بنسټ شته اپلیکیشن لپاره، د اړیکې پرانیستلو پر مهال پروتوکول اداره کوونکي ته ملاتړ شوی ښکاره پروکسي ورکول کیدای شي:

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);

د اجازه ورکړل شوو عامه هدفونو ازموینو لپاره، د خپل خدمت یا د SOCKS پروکسي لیست څخه سم SOCKS پای ټکی وکاروئ. دا بېل کلاینټ API دی، د HttpClient.Builder.proxy بدیله املا نه ده. د مقصد URL وساتئ تر څو HTTPS لاهم ټاکل شوې وېبپاڼه وپیژني.

هغه اپلیکیشن چې باید java.net.http وساتي، کولی شي پرځای یې یو سم HTTP پروکسي پای ټکی وکاروي، په شمول د تصویب شوي اډاپټر چې وروستنۍ SOCKS اړیکه سمبالوي. دا یو ریښتینی برخه او بله لاسرسي پوله زیاتوي؛ د 8080 پورټ 1080 ته بدلول دا ژباړه نه برابروي.

ټاکنه او منل ښکاره وساتئ

د ټاکونکي پایله او هغه اړیکه چې کلاینټ واقعاً پرانیزي دواړه ثبت کړئ. لومړی د پالیسۍ تولید بیانوي؛ دویم ټاکي چې تطبیق هغه منلی که نه.

پایلې د کارول شوي چلند چاپیریال او انتقال سره وتړئ. هغه JVM SOCKS ځانګړنې چې یو ساکټ تطبیق یې کاروي، دا ژمنه نه ده چې هر HTTP کتابتون ورته مراجعه کوي. کله چې لاره اجباري وي، ناملاتړ شوی پروکسي ډول باید د ظاهراً بریالۍ مستقیمې غوښتنې له منلو دمخه وپیژندل شي.

اړوندې مقالې