Java-ի proxy օբյեկտը նկարագրում է երթուղի։ Ցանցային հաճախորդը դեռ ինքն է որոշում, թե երթուղիների որ տեսակները կարող է օգտագործել։ Սա կարևոր է, երբ հասանելի վերջնակետը խոսում է SOCKS, իսկ հավելվածը օգտագործում է java.net.http.HttpClient։

Այստեղ դիտարկվող JDK 25 իրականացման մեջ HTTP հաճախորդի հարցման կոդը ընդունում է HTTP թեկնածու ընտրիչից։ SOCKS թեկնածուն ստիպող չէ, որ այն կատարի SOCKS բանակցություն. իրականացումը կարող է շարունակել առանց proxy-ի։ Հետևաբար հաջող պատասխանը բավարար ապացույց չէ, որ օգտագործվել է հատուկ ընտրիչի SOCKS գրառումը։

Նախ ընտրեք տրանսպորտը

URLConnection-ի վրա հիմնված գոյություն ունեցող հավելվածի համար կապը բացելիս արձանագրության մշակիչին կարելի է տալ աջակցվող բացահայտ proxy.

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 proxy ցանկից։ Սա այլ հաճախորդային API է, ոչ թե HttpClient.Builder.proxy-ի այլընտրանքային գրելաձև։ Պահպանեք նպատակակետ URL-ը, որպեսզի HTTPS-ը շարունակի ճանաչել նախատեսված կայքը։

Հավելվածը, որը պետք է պահպանի java.net.http-ը, կարող է փոխարենը օգտագործել համատեղելի HTTP proxy վերջնակետ, ներառյալ հաստատված ադապտեր, որը զբաղվում է հետագա SOCKS կապով։ Դա ավելացնում է իրական բաղադրիչ և ևս մեկ հասանելիության սահման. 8080 պորտը 1080-ով փոխելը այդ թարգմանությունը չի տալիս։

Ընտրությունը և որդեգրումը պահեք տեսանելի

Գրանցեք և՛ ընտրիչի արդյունքը, և՛ այն կապը, որը հաճախորդն իրականում բացում է։ Առաջինը նկարագրում է քաղաքականության արդյունքը, երկրորդը հաստատում է՝ իրականացումը որդեգրե՞լ է այն։

Եզրակացությունները կապեք օգտագործվող գործարկման միջավայրին և տրանսպորտին։ Մեկ socket իրականացման կողմից օգտագործվող JVM SOCKS հատկությունները խոստում չեն, որ յուրաքանչյուր HTTP գրադարան դիմում է նրանց։ Երբ երթուղին պարտադիր է, չաջակցվող proxy տեսակը պետք է հայտնաբերվի մինչև թվացյալ հաջող ուղիղ հարցման ընդունումը։

Առնչվող հոդվածներ