En @ i et Java-proxy-passord
Send det rå passordet til PasswordAuthentication, og bruk URL-koding bare når du bygger en faktisk proxy-URL.
java.net.PasswordAuthentication mottar et brukernavn og en tegnarray for passordet. Send de opprinnelige passordtegnene:
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
Verdien er et illustrerende passord. I applikasjonskoden henter du de ekte tegnene fra den tiltenkte kilden for påloggingsinformasjon.
En @ inne i dette passordet er data, fordi passordet allerede har sitt eget argument. Å konvertere det til p%40ssword før konstruktøren gir et annet passord.
En proxy-URL har en annen representasjon av påloggingsinformasjon. I en URL som http://proxy-user:p%[email protected]:8080 tilhører den kodede @ brukerinformasjonen, mens den senere @ skiller denne informasjonen fra verten. Dekodér og kod etter grensesnittet som faktisk bruker verdien.
Shell-sitering, escaping av Java-strengliteraler og prosentkoding av URL løser også forskjellige parsingproblemer. Avgjør hvilket lag som leser inndata i stedet for å kode påloggingsinformasjonen gjentatte ganger til oppførselen til en forespørsel endres.