Como passo o cabeçalho de autorização usando cURL? (executável em /usr/bin/curl
).
fonte
Como passo o cabeçalho de autorização usando cURL? (executável em /usr/bin/curl
).
http://curl.haxx.se/docs/httpscripting.html
Consulte a parte 6. Autenticação HTTP
Autenticação HTTP
Autenticação HTTP é a capacidade de informar ao servidor seu nome de usuário e senha para verificar se você tem permissão para fazer a solicitação que está fazendo. A autenticação básica usada no HTTP (que é o tipo que o curl usa por padrão) é baseada em texto sem formatação , o que significa que envia nome de usuário e senha apenas ligeiramente ofuscados, mas ainda totalmente legíveis por qualquer pessoa que cheire a rede entre você e o servidor remoto.
Para dizer ao curl para usar um usuário e senha para autenticação:
curl --user name:password http://www.example.com
O site pode exigir um método de autenticação diferente (verifique os cabeçalhos retornados pelo servidor) e, em seguida, --ntlm, --digest, --negotiate ou mesmo --anyauth podem ser opções adequadas para você.
Às vezes, seu acesso HTTP está disponível apenas através do uso de um proxy HTTP. Isso parece ser especialmente comum em várias empresas. Um proxy HTTP pode exigir seu próprio usuário e senha para permitir que o cliente acesse a Internet. Para especificar aqueles com ondulação, execute algo como:
curl --proxy-user proxyuser:proxypassword curl.haxx.se
Se o seu proxy exigir que a autenticação seja feita usando o método NTLM, use --proxy-ntlm, se precisar do Digest, use --proxy-digest.
Se você usar qualquer uma dessas opções de usuário + senha, mas deixar de fora a parte da senha, o curl solicitará a senha interativamente.
Observe que, quando um programa é executado, é possível ver seus parâmetros ao listar os processos em execução do sistema. Portanto, outros usuários poderão observar suas senhas se você as passar como opções simples de linha de comando. Existem maneiras de contornar isso.
Vale a pena notar que, embora seja assim que a Autenticação HTTP funciona, muitos sites não usam esse conceito quando fornecem logins etc. Consulte o capítulo Login na Web mais abaixo para obter mais detalhes.
Basta adicionar para não precisar clicar:
ou se você estiver tentando enviar autenticação para o OAuth 2:
fonte
-H
opção é ótima.-H Authorization: Basic <Base64EncodedCredentials>
HMAC-SHA256
sempre recebendo um erro de falta de cabeçalho de autorização<Base64EncodedCredentials>
como mencionado por @ Timothy-Kansaki, você pode obter o codificado credencial usando o comando:cred="$( echo $NAME:$PASSWORD | base64 )"; curl -H "Authorization: Basic $cred" https://example.com
. Para referência, consulte stackoverflow.com/questions/16918602/…Os tokens do portador são assim:
fonte
(para quem procura resposta php-curl )
fonte
Isso funcionou para mim:
fonte
Authorization: bearer xxxxxxxxx
?Bearer
Bearer
.Para autenticação básica HTTP:
curl -H "Authorization: Basic <_your_token_>" http://www.example.com
substituir
_your_token_
e o URL.fonte
echo -ne "<your-user>:<your-pass>" | base64 --wrap 0
gerará o token de autenticação básico.-H "Authorization: Basic <_your_token_>"
faz o mesmo efeito que--user login:password
. Você pode verificá-lo comcurl -v
Cuidado ao usar:
curl -H "Authorization: token_str" http://www.example.com
token_str
eAuthorization
deve ser separado por espaço em branco, caso contrário, o lado do servidor não obterá oHTTP_AUTHORIZATION
ambiente.fonte
Se você não tiver o token no momento da ligação, será necessário fazer duas chamadas, uma para obter o token e a outra para extrair o token da resposta, preste atenção
pois é a parte que trata da extração do token da resposta.
Após extrair o token, você pode usá-lo para fazer chamadas subseqüentes da seguinte maneira.
fonte