Как передать заголовок авторизации с помощью cURL? (исполняемый в /usr/bin/curl
).
источник
Как передать заголовок авторизации с помощью cURL? (исполняемый в /usr/bin/curl
).
http://curl.haxx.se/docs/httpscripting.html
Смотрите часть 6. Аутентификация HTTP
HTTP-аутентификация
HTTP-аутентификация - это возможность сообщить серверу ваше имя пользователя и пароль, чтобы он мог проверить, разрешено ли вам выполнять запрос, который вы делаете. Базовая аутентификация, используемая в HTTP (которая по умолчанию используется в curl), основана на простом тексте , что означает, что она посылает имя пользователя и пароль только слегка запутанно, но все же полностью читаема любым, кто прослушивает сеть между вами и удаленным сервером.
Чтобы указать curl использовать имя пользователя и пароль для аутентификации:
curl --user name:password http://www.example.com
Для сайта может потребоваться другой метод аутентификации (проверьте заголовки, возвращаемые сервером), а затем --ntlm, --digest, --negotiate или даже --anyauth могут оказаться подходящими для вас вариантами.
Иногда ваш HTTP-доступ доступен только через HTTP-прокси. Это, кажется, особенно распространено в различных компаниях. Для HTTP-прокси может потребоваться собственный пользователь и пароль, чтобы клиент мог подключиться к Интернету. Чтобы указать те с curl, запустите что-то вроде:
curl --proxy-user proxyuser:proxypassword curl.haxx.se
Если ваш прокси-сервер требует, чтобы аутентификация выполнялась с использованием метода NTLM, используйте --proxy-ntlm, если для этого требуется дайджест, используйте --proxy-digest.
Если вы используете какой-либо из этих вариантов user + password, но не указали парольную часть, curl запросит пароль в интерактивном режиме.
Обратите внимание, что при запуске программы ее параметры можно было бы увидеть при перечислении запущенных процессов системы. Таким образом, другие пользователи могут просматривать ваши пароли, если вы передадите их в виде простых параметров командной строки. Есть способы обойти это.
Стоит отметить, что, хотя именно так работает HTTP-аутентификация, очень многие веб-сайты не будут использовать эту концепцию, когда они предоставляют вход в систему и т. Д. Более подробно об этом см. В главе «Веб-вход в систему» ниже.
Просто добавьте, чтобы вам не пришлось переходить по ссылкам:
или если вы пытаетесь сделать аутентификацию отправки для OAuth 2:
источник
-H
Вариант велик.-H Authorization: Basic <Base64EncodedCredentials>
HMAC-SHA256
всегда получая сообщение об ошибке пропуска заголовка авторизации<Base64EncodedCredentials>
как упомянуто @ тимофеевка-kansaki, вы можете получить кодированное удостоверение с помощью команды:cred="$( echo $NAME:$PASSWORD | base64 )"; curl -H "Authorization: Basic $cred" https://example.com
. Для справки см. Stackoverflow.com/questions/16918602/…Жетоны на предъявителя выглядят так:
источник
(для тех, кто ищет ответ php-curl )
источник
Это сработало для меня:
источник
Authorization: bearer xxxxxxxxx
?Bearer
Bearer
.Для HTTP Basic Auth:
curl -H "Authorization: Basic <_your_token_>" http://www.example.com
заменить
_your_token_
и URL.источник
echo -ne "<your-user>:<your-pass>" | base64 --wrap 0
сгенерирует базовый токен авторизации.-H "Authorization: Basic <_your_token_>"
делает то же самое, что и--user login:password
. Вы можете проверить это сcurl -v
Будьте осторожны, когда вы используете:
curl -H "Authorization: token_str" http://www.example.com
token_str
иAuthorization
должен быть отделен пробелом, иначе серверная часть не получитHTTP_AUTHORIZATION
среду.источник
Если у вас нет токена на момент совершения вызова, вам нужно будет сделать два вызова, один для получения токена, а другой - для извлечения токена из ответа, обратите внимание на
так как это часть, которая имеет дело с извлечением токена из ответа.
После извлечения токена вы можете использовать токен для выполнения последующих вызовов следующим образом.
источник