@ Java-ի փոխարինող սերվերի գաղտնաբառում
Փոխանցեք չմշակված գաղտնաբառը PasswordAuthentication-ին և URL կոդավորումը կիրառեք միայն իրական փոխարինող սերվերի URL կառուցելիս։
java.net.PasswordAuthentication-ը ստանում է օգտանուն և գաղտնաբառի նշանների զանգված։ Փոխանցեք գաղտնաբառի սկզբնական նշանները՝
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
Արժեքը օրինակելի գաղտնաբառ է։ Հավելվածի կոդում իրական նշանները ստացեք նախատեսված հավատարմագրերի աղբյուրից։
Այս գաղտնաբառի մեջ @-ը տվյալ է, որովհետև գաղտնաբառն արդեն ունի իր սեփական արգումենտը։ Այն p%40ssword-ի վերածելը կոնստրուկտորից առաջ տալիս է այլ գաղտնաբառ։
Փոխարինող սերվերի URL-ն ունի հավատարմագրերի մեկ այլ ներկայացում։ http://proxy-user:p%[email protected]:8080-ի նման URL-ում կոդավորված @-ը պատկանում է օգտվողի տեղեկատվությանը, իսկ հաջորդ @-ը բաժանում է այդ տեղեկատվությունը հոսթից։ Ապակոդավորեք և կոդավորեք այն ինտերֆեյսին համապատասխան, որն իրականում սպառում է արժեքը։
Shell-ի չակերտները, Java տողային լիտերալների escape-ը և URL-ի տոկոսային կոդավորումը նույնպես լուծում են տարբեր վերլուծության խնդիրներ։ Որոշեք, թե որ շերտն է կարդում մուտքը, փոխարենը կրկնակի կոդավորելու հավատարմագրերը, մինչև հարցումն իր վարքը փոխի։