Этот вопрос об использовании 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
только через среду?
(Обходной путь перешел к ответу)