🖧 Как настроить прокси http/https со специальными символами в пароле

Мануал
В этом руководстве я расскажу, как настроить http_proxy или https_proxy, когда ваше имя пользователя или пароль содержит специальные символы, такие как запятая, @, # и т. д.

Ошибка: невозможно установить http_proxy или https_proxy со специальными символами в имени пользователя или пароле.

Обычно при export http_proxy или https_proxy мы должны предоставить имя пользователя и пароль вместе с IP-адресом и портом прокси.

Это будет работать в большинстве случаев, но если имя пользователя или пароль содержит некоторые специальные символы, вы можете получить ошибку:

        Resolving s... failed: Name or service not known.
        wget: unable to resolve host address “s”

 

Вывод ошибки может варьироваться в зависимости от символа, используемого в имени пользователя или пароле.
Есть два способа преодолеть эту ошибку:

Решение-1: преобразовать текст в шестнадцатеричный Unicode

Вы должны использовать сопоставление значений “шестнадцатеричного Unicode” соответствующих специальных символов в имени пользователя и пароле прокси. Чтобы получить список сопоставления символов Unicode, перейдите по адресу:

https://unicodelookup.com/

Например, пароль типа «P@$$\/\/0,#» можно преобразовать в

P ⇒ P <- поиск не требуется
@ ⇒ 0x40
$ ⇒ 0x24
$ ⇒ 0x24
\ ⇒ 0x5C
/ ⇒ 0x2F
\ ⇒ 0x5C
/ ⇒ 0x2F
0 ⇒ 0 <- поиск не требуется
, ⇒ 0x2C
# ⇒ 0x23

Итак, если мы объединим это для «”P@$$\/\/0,#», мы получим «P0x400x240x5C0x2F0x5C0x2F00x2C0x23»

Теперь вы можете экспортировать свой http_proxy:

# export http_proxy="http://username:P0x400x240x5C0x2F0x5C0x2F00x2C0x23@server:port/"

Аналогично по экспорту https_proxy

# export https_proxy="https://username:P0x400x240x5C0x2F0x5C0x2F00x2C0x23@server:port/"

Решение-2: укажите имя пользователя и пароль с помощью wget

Вместо того, чтобы выполнять преобразование, вы также можете указать имя пользователя и пароль в текстовом формате с помощью команды wget.
На странице руководства wget:
--proxy-user=user
--proxy-password=password
           Specify the username user and password password for authentication on a proxy server.  Wget will encode them
           using the "basic" authentication scheme.

Это решение действительно только в том случае, если вы планируете использовать wget или же для применения общесистемного прокси, вы можете использовать Решение 1, где имя пользователя или пароль содержат любые специальные символы.

Заключение

В этом руководстве я поделился шагами по настройке http_proxy и https_proxy, когда раздел имени пользователя и/или пароля содержит любые специальные символы.

На предоставленной странице Unicode вы можете найти свой символ, а затем найти шестнадцатеричное значение Unicode для соответствующего символа.

Затем просто замените специальный символ на значение Unicode, и вы сможете экспортировать прокси на своем сервере Linux.

 

 

Добавить комментарий