1

Я хотел бы установить переменную среды, содержащую URL моего прокси-сервера с моими учетными данными, как в этом сообщении в блоге.

Проблема в том, что мой пароль содержит символ at, и я не уверен, как правильно его избежать:

SET HTTP_PROXY=http://username:p@assword@proxy.yourdomain.com:8080

Как мне это сделать?

Кстати, я понимаю, что установка переменной среды, содержащей мои учетные данные, - очень плохая идея. Я открыт для других предложений, которые позволили бы мне использовать composer за прокси-сервером с проверкой подлинности, если у кого-то есть такой.

2 ответа2

2
set HTTP_PROXY=http://username:p^%40assword@proxy.yourdomain.com:8080
  1. Нужно в процентах кодировать @ в пароле как %40 , потому что @ - это разделитель.
  2. Нужно экранировать % в команде set чтобы интерпретатор команд даже не пытался выполнить подстановку переменных среды. Символ ^ в качестве escape-символа - это соглашение, которое существовало еще с cmd IBM /Microsoft для OS /2 1.x и поддерживается в cmd Microsoft для Windows NT, а также в интерпретаторах команд, таких как TCC /LE - по сей день.
0

Специальные символы можно экранировать с помощью «^» в оболочке Windows CMD. Так:

SET HTTP_PROXY=http://username:p^@assword^@proxy.yourdomain.com:8080

будет выведен как:

C:\>echo %HTTP_PROXY%
http://username:p@assword@proxy.yourdomain.com:8080

на оболочке. Но это зависит от инструмента, который использует переменную, я точно не знаю, правильно ли git воспринимает это как ввод (но я так думаю).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .