apt-get for proxy.Специальные символы в имени пользователя и пароле - PullRequest
4 голосов
/ 14 февраля 2012

Я бы хотел установить apt-get для использования прокси на моем Ubuntu Box.Я успешно настроил synaptic для использования прокси, поэтому я могу устанавливать пакеты, но я хотел бы иметь возможность использовать командную строку.

Для моего рабочего прокси требуются как имя пользователя, так и пароль, оба из которых имеют специальныесимволов в них.

В моем .bashrc у меня есть

export http_proxy="http://user@company:P@$$1234@10.20.30.40:80/"

, однако, это не работает.

Я также пытался экранировать специальные символы, ноэто тоже не работает:

export http_proxy="http://user\@company:P\@\$\$1234@10.20.30.40:80/"

Ответы [ 2 ]

6 голосов
/ 29 февраля 2012

Казалось бы, сочетание двух вещей. Мне нужно было использовать escape-коды для специальных символов, и мне нужно было добавить записи в /etc/apt/apt.conf. (Возможно, экспорт переменных окружения _proxy должен заставить работать apt-get, но мне не повезло.)

/etc/apt/apt.conf:

APT::Get::AllowUnauthenticated 1;
Acquire::http::proxy "http://user%40company:P%40%24%241234@10.20.30.40:80/";
Acquire::ftp::proxy "ftp://user%40company:P%40%24%241234@10.20.30.40:80/";
Acquire::https::proxy "https://user%40company:P%40%24%241234@10.20.30.40:80/";

.bashrc

export http_proxy="http://user%40company:P%40%24%241234@10.20.30.40:80/";
export ftp_proxy="ftp://user%40company:P%40%24%241234@10.20.30.40:80/";
export https_proxy="https://user%40company:P%40%24%241234@10.20.30.40:80/";
1 голос
/ 15 июля 2018

Еще проще и надежнее!

Общий синтаксис:

sudo {http,https,ftp}_proxy=http://<username>:<password>@<proxy_url/_proxyip>:<port>/

wget --timeout=5 --no-check-certificate http://<website_url>

Пример:

[root@localhost ~]# sudo {http,https,ftp}_proxy=http://username:password-123@proxy.example.com:6050/

wget --timeout=5 --no-check-certificate http://google.com

{http, https, ftp} _proxy -> http, https, ftp urls.Разделяется запятой.

- тайм-аут = 5 -> Соединение для поддержания активности в секундах.

-no-check-Certificate ->Игнорировать проверку SSL / сертификата.

- spider -> Если вы хотите проверить подключение без загрузки файла.

Примечания:

Онлайн-конвертер:

Заменить специальные символы на эквивалентный шестнадцатеричный юникод.Список юникодов приведен на веб-сайте https://unicode -table.com (или) http://unicodelookup.com

Локальный конвертер с использованием Python:

Ссылка: преобразование пароля "p @ s # w: E" в Unicode будет следующим:

@ = %40
$ = %24
# = %23
: = %3A
p@s#w:E = p%40s%23w%3AE

Ввод:

[root@localhost ~]# python -c "import sys, urllib as enc; print enc.quote_plus(sys.argv[1])" "p@s#w:E"

Выход:

p%40s%23w%3AE
...