Збережіть закодовані облікові дані проксі в пакетному файлі
Зберігайте відсотково закодовані імена користувачів і паролі проксі під час перенесення команди Windows у файл .bat.
URL проксі працює, коли його налаштовано безпосередньо, але автентифікація перестає працювати після перенесення того самого значення в пакетний файл Windows. Перевірте, чи не змінив синтаксичний аналізатор пакетного файлу знаки відсотка до того, як HTTP-клієнт отримав URL.
Є два окремі подання. Кодування URL може подати зворотну скісну риску як %5C, а знак питання як %3F. Буквальний знак відсотка в команді пакетного файлу потрібно екранувати як %%.
Для ілюстративного облікового запису domain\user із паролем-заповнювачем pass? файл .bat може містити:
set "https_proxy=http://domain%%5Cuser:pass%%[email protected]:8080"
Запущений після цього процес має отримати URL, що містить domain%5Cuser:pass%3F. Подвоєні знаки відсотка належать джерелу пакетного файлу, а не URL проксі, який зберігає клієнт.
Не копіюйте це пакетне написання у файл .npmrc або в поле проксі застосунку: ці вхідні дані не проходять той самий етап розбору пакетного файлу. Так само цей приклад не є синтаксисом PowerShell. Інша обгортка, наприклад CALL або команда, зібрана для другої оболонки, може додати ще один прохід розбору й потребує власної перевірки.
Візьміть присвоєння SET у лапки, як показано, щоб випадкові пробіли або метасимволи оболонки не стали частиною непередбаченої команди. Самі лише лапки не запобігають розкриттю відсотка.
Перевіряючи результат, порівнюйте очікуване кодування з відредагованим поданням, а не друкуйте URL із паролем у спільний журнал. Виправлення екранування оболонки зберігає облікові дані; воно не обирає схему автентифікації, яку клієнт і так не підтримував.