java.net.PasswordAuthentication ontvangt een gebruikersnaam en een tekenarray voor het wachtwoord. Geef de oorspronkelijke wachtwoordtekens door:

var credential = new java.net.PasswordAuthentication(
    "proxy-user", "p@ssword".toCharArray());

De waarde is een illustratief wachtwoord. Haal in applicatiecode de echte tekens uit de bedoelde bron van inloggegevens.

Een @ in dit wachtwoord is data, omdat het wachtwoord al zijn eigen argument heeft. Het omzetten naar p%40ssword vóór de constructor levert een ander wachtwoord op.

Een proxy-URL heeft een andere weergave van inloggegevens. In een URL zoals http://proxy-user:p%[email protected]:8080 hoort de gecodeerde @ bij de gebruikersinformatie, terwijl de latere @ die informatie van de host scheidt. Decodeer en codeer volgens de interface die de waarde daadwerkelijk gebruikt.

Shell-quoting, het escapen van Java-stringliterals en procentcodering in URL's lossen ook verschillende parseerproblemen op. Bepaal welke laag de invoer leest in plaats van de inloggegevens herhaaldelijk te coderen totdat het gedrag van een verzoek verandert.

Gerelateerde artikelen