Переменные прокси в cmd.exe: избегайте пробелов вокруг знака равенства
Используйте синтаксис присваивания cmd.exe, который не добавляет лишних пробелов в имя или значение переменной прокси.
В cmd.exe записывайте присваивание без пробелов вокруг знака равенства:
set "HTTP_PROXY=http://proxy.example:8080"
Эта внешне похожая команда даёт другой результат:
set HTTP_PROXY = http://proxy.example:8080
Теперь в конце имени есть пробел, и значение начинается с пробела. Программа, которая ищет HTTP_PROXY, не запрашивает HTTP_PROXY . Показанное присваивание может выглядеть почти правильным, но нужный поиск остаётся пустым.
Заключение всего присваивания в кавычки также предотвращает случайное попадание завершающих пробелов в значение. Заключение в кавычки только значения — другая форма, и в сохранённом значении могут остаться символы кавычек.
Замените слушатель из примера на конечную точку HTTP из вашего сервиса или из списка HTTP-прокси. Запускайте нужный клиент из того окна команд, чтобы он унаследовал переменную. Программа, уже работающая в другом месте, не получает новое окружение.
Это синтаксис cmd.exe. PowerShell использует присваивание переменной среды, например $env:HTTP_PROXY = 'http://proxy.example:8080'; в PowerShell пробелы в этом выражении — не та же ошибка. Программа всё равно должна поддерживать переданные ей переменную и протокол прокси.