#node.js #bash #curl #proxy #passwords
Вопрос:
Я делаю запрос curl с помощью прокси-сервера. Допустим,:
proxyUsername = "username"
proxyPassword = "p@ssw3rd"
proxyHost = "myproxy.node-a.io"
proxyPort = "11115"
Вы можете создать прокси-запрос для ipinfo.io вот так:
curl --proxy http://username:password@host:port https://ipinfo.io/ip
С приведенными выше значениями прокси завиток будет выглядеть так:
curl --proxy http://username:p@ssw3rd@myproxy.node-a.io:11115 https://ipinfo.io/ip
Проблема в том, что первый знак «@» в пароле рассматривается как разделитель токенов между паролем и хостом…
Я пробовал кодировать пароль по URL-адресу, но это тоже не работает:
curl --proxy http://username:p@ssw3rd@myproxy.node-a.io:11115 https://ipinfo.io/ip
Есть ли способ создать URL-адрес аутентификации прокси-сервера, как описано выше, для прокси-серверов, в паролях которых есть символы»@»?
(Для контекста я пытаюсь установить --proxy-server
для сеанса chrome.)
Ответ №1:
Взято отсюда:
URL-адреса используют кодировку в процентах, она же кодировка URL.
@
знак находится@
в этой кодировке.
% curl -k -X POST https://user1:mypass8@@myshop.com/job/build
Или альтернативно с
-u
--user
параметром / :
% curl -u user1:mypass8@ -k -X POST https://myshop.com/job/build