@ 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 vjerodajnica.
Znak @ unutar ove lozinke podatak je, jer lozinka već ima vlastiti argument. Pretvaranje u p%40ssword prije konstruktora daje drugu lozinku.
Proxy URL ima drugi prikaz vjerodajnica. U URL-u poput http://proxy-user:p%[email protected]:8080 kodirani @ pripada korisničkim podacima, dok kasniji @ odvaja te podatke od hosta. Dekodirajte i kodirajte prema sučelju koje stvarno troši vrijednost.
Navodnici u ljusci, escape Java string literala i postotno kodiranje URL-a također rješavaju različite probleme parsiranja. Utvrdite koji sloj čita ulaz umjesto da višekratno kodirate vjerodajnice dok se ponašanje zahtjeva ne promijeni.