1

У меня была проблема туннелирования apt с http-прокси в Ubuntu.

https://askubuntu.com/questions/23666/apt-get-does-not-work-with-proxy

https://askubuntu.com/questions/158557/setting-proxy-from-terminal

Эти вопросы описывают проблему и решение. Для этого необходимо создать файл 'apt.conf' и ввести строку в следующем формате.

http://[username]:[password]@[proxy-webaddress]:[port]

Проблема в том, что в пароле есть «@».

Это ошибка, которую я получаю. ошибка

Вопрос в том, как включить пароль в конфигурационные файлы.

Я пытался использовать "\@" и "/@", оба выдавали ошибки, не совсем одинаковые, но схожие с точки зрения "Временная ошибка при разрешении идентификатора и пароля"

Это то что я написал

Acquire::http::proxy "http://tarun:usa@9356@192.17.2.4:808/";

Я пытался,

Acquire::http::proxy "http://tarun:usa\'@\'9356@192.17.2.4:808/";

Acquire::http::proxy "http://tarun:usa\@9356@192.17.2.4:808/";

Acquire::http::proxy "http://tarun:usa/@9356@192.17.2.4:808/";

Acquire::http::proxy "'http://tarun:usa/@9356@192.17.2.4:808/'";

Acquire::http::proxy "\'http://tarun:usa/@9356@192.17.2.4:808/\'";

Acquire::http::proxy "`http://tarun:usa/@9356@192.17.2.4:808/`";

2 ответа2

0

Я заметил, что в сообщении об ошибке указано "Could not resolve <address>" , что означает, что <address> является URL-адресом. Поиск по URL привел меня к URL кодировкам символов.

Чтобы включить @ в мой адрес, я могу закодировать его, используя %40 . Следовательно, вся строка становится http://tarun:usa%409356@192.17.2.4:808 Когда проанализированный% 40 не считается как @. Который работал отлично.

Вот ссылка на дополнительные URL-кодировки

-1

http://www.shellscript.sh/escape.html

Спасибо за редактирование. вам нужно экранировать всю строку, а не только символ @ charcter. Acquire::http::proxy "'tarun:usa@9356@http://192.17.2.4:808/'"; - используйте одинарные кавычки внутри двойных кавычек

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