@ u Java proxy lozinci
Proslijedite sirovu lozinku u PasswordAuthentication i primijenite URL kodiranje samo pri izgradnji stvarnog proxy URL-a.
java.net.PasswordAuthentication prima korisničko ime i niz znakova lozinke. Proslijedite izvorne znakove lozinke:
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
Vrijednost je ilustrativna lozinka. U kodu aplikacije uzmite stvarne znakove iz predviđenog izvora akreditiva.
Znak @ unutar ove lozinke je podatak, jer lozinka već ima svoj argument. Pretvaranje u p%40ssword prije konstruktora daje drugu lozinku.
Proxy URL ima drugi prikaz akreditiva. U URL-u kao http://proxy-user:p%[email protected]:8080 kodirani @ pripada korisničkim informacijama, dok kasniji @ odvaja te informacije od hosta. Dekodirajte i kodirajte prema interfejsu koji stvarno troši vrijednost.
Navodnici u shellu, escape Java string literala i procentno kodiranje URL-a takođe rešavaju različite probleme parsiranja. Utvrdite koji sloj čita ulaz umesto da višekratno kodirate akreditive dok se ponašanje zahteva ne promeni.