@ у Java proxy лозинци
Проследите сирову лозинку у PasswordAuthentication и примените URL кодирање само при изградњи стварног proxy URL-а.
java.net.PasswordAuthentication прима корисничко име и низ знакова лозинке. Проследите изворне знакове лозинке:
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
Вредност је илустративна лозинка. У коду апликације узмите стварне знакове из предвиђеног извора акредитива.
Знак @ унутар ове лозинке је податак, јер лозинка већ има свој аргумент. Претварање у p%40ssword пре конструктора даје другу лозинку.
Proxy URL има други приказ акредитива. У URL-у као http://proxy-user:p%[email protected]:8080 кодирани @ припада корисничким информацијама, док каснији @ одваја те информације од хоста. Декодирајте и кодирајте према интерфејсу који стварно троши вредност.
Наводници у shell-у, escape Java стринг литерала и процентно кодирање URL-а такође решавају различите проблеме парсирања. Утврдите који слој чита улаз уместо да вишекратно кодирате акредитиве док се понашање захтева не промени.