java.net.PasswordAuthentication приймає ім'я користувача й масив символів пароля. Передайте початкові символи пароля:

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

Значення — ілюстративний пароль. У коді застосунку беріть справжні символи з потрібного джерела облікових даних.

Символ @ усередині цього пароля — дані, бо пароль уже має власний аргумент. Перетворення на p%40ssword до конструктора передає інший пароль.

URL проксі має інше подання облікових даних. У URL на кшталт http://proxy-user:p%[email protected]:8080 кодований @ належить до відомостей про користувача, а наступний @ відокремлює ці відомості від хоста. Декодуйте й кодуйте відповідно до інтерфейсу, який справді споживає значення.

Лапки в shell, екранування рядкових літералів Java і відсоткове кодування URL також розв'язують різні задачі розбору. Визначте, який шар читає ввід, замість повторно кодувати облікові дані, доки не зміниться поведінка запиту.

Схожі статті