Znak @ v hesle k Java proxy
Odovzdajte surové heslo do PasswordAuthentication a URL kódovanie použite len pri zostavovaní skutočnej proxy URL.
java.net.PasswordAuthentication preberá používateľské meno a pole znakov hesla. Odovzdajte pôvodné znaky hesla:
var credential = new java.net.PasswordAuthentication(
"proxy-user", "p@ssword".toCharArray());
Hodnota je ilustratívne heslo. V kóde aplikácie získajte skutočné znaky z určeného zdroja prihlasovacích údajov.
Znak @ vnútri tohto hesla je údaj, pretože heslo už má svoj vlastný argument. Prevod na p%40ssword pred konštruktorom odovzdá iné heslo.
Proxy URL má iné znázornenie prihlasovacích údajov. V URL ako http://proxy-user:p%[email protected]:8080 kódovaný @ patrí do používateľských informácií, zatiaľ čo neskorší @ oddeľuje tieto informácie od hostiteľa. Dekódujte a kódujte podľa rozhrania, ktoré hodnotu skutočne spotrebúva.
Citovanie v shelli, escapovanie reťazcových literálov v Jave a percentové kódovanie URL tiež riešia rôzne problémy pri parsovaní. Určte, ktorá vrstva číta vstup, namiesto opakovaného kódovania prihlasovacích údajov, kým sa nezmení správanie požiadavky.