19

Я пытаюсь настроить HTTP-прокси на компьютере с Windows. Проблема в том, что в пароле есть специальный символ (@), который приводит к сбою команды set .

Я пробовал как экранировать символ (\@), так и кодировать его в процентах с шестнадцатеричным значением (%40), но безрезультатно.

Например, с именем пользователя Foo и паролем B @ r я попробовал следующие команды:

set http_proxy=http://foo:B\@r@http-gateway.domain.org:80
set http_proxy=http://foo:B%40r@http-gateway.domain.org:80

Кроме смены пароля, как прокси-сервер может использовать пароль?

4 ответа4

22

Вы должны кодировать в процентах | кодировать специальные символы. Например, вместо этого:

http://foo:B@r@http-gateway.domain.org:80

ты пишешь это:

http://foo:B%40r@http-gateway.domain.org:80

Таким образом, @ заменяется на %40 .

2

Используйте% Ascii код специального символа в шестнадцатеричной записи для любого специального символа. Предположим, что Мой пароль AB @ 12 #, а затем пароль должен быть установлен как

git config --global http.proxy *http://usernamne:**AB%4012%23%26**@myipadress:portnumber*

Обратитесь к таблице ascii, чтобы узнать шестнадцатеричный код ascii любого числа.

0

Для любых специальных символов в имени пользователя или пароле мы всегда можем использовать вместо него строки в кодировке UTF-8. Например: ! можно заменить на% 21

так что команда будет, если пароль abc !:

Конфигурация npm установленный прокси http:// пользователь:abc%21@proxy.world.com:8080/

Конфигурация npm установлена https-прокси http:// пользователь:abc%21@proxy.world.com:8080/

-1

Основываясь на этом ответе на вопросе SO, можете ли вы использовать ^, чтобы экранировать символ @?

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