Я использую cURL, чтобы получить страницу с веб-сайта, который использует обычную аутентификацию. Допустим, командная строка с учетными данными выглядит следующим образом (обратите внимание на два знака доллара в «pa $$ word»):
curl -u "username:pa$$word" https://example.com
Когда я вставляю эту команду в Makefile, я получаю HTTP/1.1 401 Unauthorised
.
Проблема заключается в очистке двух знаков доллара в сочетании с Makefile, потому что:
curl -u "username" https://example.com
работает (при условии, что я наберу "pa $$ word" в командной строке).
И это работает в Bash (не внутри Makefile):
curl -u 'username:pa$$word' https://example.com
Я пробовал разные уловки, чтобы избежать этих знаков доллара. Пока что пробовал (безуспешно):
curl -u "username:pa\$\$word" https://example.com
curl -u "username:pa$$$$word" https://example.com
curl -u "username:{pa$$word}" https://example.com
curl ---netrc https://example.com # Credentials are in .netrc
Для тех, кто заинтересован в том, чтобы я поместил пароль в виде простого текста в Makefile - этот пароль предназначен для общедоступного тестового сервера, на котором компания раскрыла все учетные данные, необходимые для участия в тестировании, на общедоступной веб-странице.
Я в основном пытаюсь написать сценарий своей процедуры тестирования, используя Makefile, вместо того, чтобы использовать ssh для ввода одних и тех же команд снова и снова.