Этот вопрос об использовании cURL с именем пользователя и паролем имеет субоптимальные ответы для меня:
-
curl -u "user:pw" https://example.comпомещает pw в список процессов -
curl "https://user:[email protected]"помещает pw в список процессов -
curl -u "user:$(cat ~/.passwd)" https://example.comпомещает pw в список процессов -
curl -u user https://example.comзапрашивает pw -
curl --netrc-file ~/.netrc https://example.comтребуется файл
# 4 безопасен, но я могу выполнять эту команду сотни раз в день, поэтому это утомительно. # 5 близок к безопасности, но этот файл может быть прочитан кем-то с правами доступа root.
страница cURL говорит (обратите внимание на жирный текст):
-u/--user <user:password>Укажите имя пользователя и пароль для аутентификации сервера. Переопределяет
-n/--netrcи--netrc-optional.Если вы просто укажете имя пользователя (без ввода двоеточия), завиток будет введите пароль.
Если вы используете двоичный ключ с включенным SSPI и выполняете аутентификацию NTLM, вы может заставить curl забрать имя пользователя и пароль из вашей среды.просто указав один двоеточие с этой опцией:
-u :.
Я попытался установить $USER и $PASSWORD (и $CURLOPT_PASSWORD и другие) в среде, но cURL doesn ' t выбирает любой из них при вызове curl -u : https://example.com (и не работает без -u :).
Я не делаю NTLM, так что это не работает. Если я что-то не упустил.
Есть ли способ передать учетные данные в curl только через среду?
(Обходной путь перешел к ответу)