@ Java tarpinio serverio slaptažodyje
Perduokite neapdorotą slaptažodį į PasswordAuthentication ir taikykite URL kodavimą tik kurdami tikrą tarpinio serverio URL.
java.net.PasswordAuthentication priima vartotojo vardą ir slaptažodžio simbolių masyvą. Perduokite pradinius slaptažodžio simbolius:
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
Reikšmė yra iliustracinis slaptažodis. Programos kode gaukite tikruosius simbolius iš numatytojo prisijungimo duomenų šaltinio.
Šiame slaptažodyje esantis @ yra duomuo, nes slaptažodis jau turi savo argumentą. Pavertimas į p%40ssword prieš konstruktorių perduoda kitą slaptažodį.
Tarpinio serverio URL turi kitą prisijungimo duomenų atvaizdavimą. URL, kaip http://proxy-user:p%[email protected]:8080, užkoduotas @ priklauso vartotojo informacijai, o vėlesnis @ atskiria tą informaciją nuo pagrindinio kompiuterio. Dekoduokite ir koduokite pagal sąsają, kuri iš tikrųjų naudoja reikšmę.
Shell citavimas, Java eilučių literalų escape ir URL procentinis kodavimas taip pat sprendžia skirtingas analizavimo problemas. Nustatykite, kuris sluoksnis skaito įvestį, o ne kartokite prisijungimo duomenų kodavimą, kol pasikeis užklausos elgsena.