En @ i et Java-proxy-passord
Send det rå passordet til PasswordAuthentication, og bruk URL-koding bare når du bygger en ekte proxy-URL.
java.net.PasswordAuthentication mottar et brukernavn og en tegnrekke 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 virkelige 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 hører den kodede @ til brukerinformasjonen, mens den senere @ skiller denne informasjonen fra verten. Dekodér og kod etter grensesnittet som faktisk forbruker verdien.
Shell-sitering, escaping av Java-strengliteraler og prosentkoding av URL løser også ulike parsingproblemer. Avgjør hvilket lag som leser inndata i stedet for å kode påloggingsinformasjonen gjentatte ganger til oppførselen til en forespørsel endres.