В 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 пробелы в этом выражении — не та же ошибка. Программа всё равно должна поддерживать переданные ей переменную и протокол прокси.

Похожие статьи