Wie übergebe ich den Autorisierungsheader mit cURL? (ausführbar in /usr/bin/curl
).
quelle
Wie übergebe ich den Autorisierungsheader mit cURL? (ausführbar in /usr/bin/curl
).
http://curl.haxx.se/docs/httpscripting.html
Siehe Teil 6. HTTP-Authentifizierung
HTTP-Authentifizierung
Die HTTP-Authentifizierung ist die Möglichkeit, dem Server Ihren Benutzernamen und Ihr Kennwort mitzuteilen, damit überprüft werden kann, ob Sie die von Ihnen ausgeführte Anforderung ausführen dürfen. Die in HTTP verwendete Standardauthentifizierung (die standardmäßig vom Typ Curl verwendet wird) basiert auf einfachem Text. Dies bedeutet, dass Benutzername und Kennwort nur geringfügig verschleiert gesendet werden, aber dennoch vollständig von jedem gelesen werden können, der im Netzwerk zwischen Ihnen und dem Remoteserver schnüffelt.
So weisen Sie curl an, einen Benutzer und ein Kennwort für die Authentifizierung zu verwenden:
curl --user name:password http://www.example.com
Die Site erfordert möglicherweise eine andere Authentifizierungsmethode (überprüfen Sie die vom Server zurückgegebenen Header), und dann sind --ntlm, --digest, --negotiate oder sogar --anyauth möglicherweise Optionen, die zu Ihnen passen.
Manchmal ist Ihr HTTP-Zugriff nur über einen HTTP-Proxy verfügbar. Dies scheint bei verschiedenen Unternehmen besonders häufig zu sein. Ein HTTP-Proxy benötigt möglicherweise einen eigenen Benutzer und ein eigenes Kennwort, damit der Client ins Internet gelangen kann. Führen Sie Folgendes aus, um diejenigen mit Locken anzugeben:
curl --proxy-user proxyuser:proxypassword curl.haxx.se
Wenn Ihr Proxy die Authentifizierung mithilfe der NTLM-Methode erfordert, verwenden Sie --proxy-ntlm. Wenn Digest erforderlich ist, verwenden Sie --proxy-Digest.
Wenn Sie eine dieser Benutzer- + Kennwortoptionen verwenden, aber den Kennwortteil weglassen, fordert curl interaktiv zur Eingabe des Kennworts auf.
Beachten Sie, dass beim Ausführen eines Programms möglicherweise dessen Parameter angezeigt werden, wenn die laufenden Prozesse des Systems aufgelistet werden. Daher können andere Benutzer Ihre Kennwörter möglicherweise überwachen, wenn Sie sie als einfache Befehlszeilenoptionen übergeben. Es gibt Möglichkeiten, dies zu umgehen.
Es ist erwähnenswert, dass die HTTP-Authentifizierung zwar so funktioniert, aber sehr viele Websites dieses Konzept nicht verwenden, wenn sie Anmeldungen usw. bereitstellen. Weitere Informationen hierzu finden Sie im Kapitel Web-Anmeldung weiter unten.
Fügen Sie einfach hinzu, damit Sie nicht durchklicken müssen:
oder wenn Sie versuchen, eine Authentifizierung für OAuth 2 zu senden:
quelle
-H
Option ist großartig.-H Authorization: Basic <Base64EncodedCredentials>
HMAC-SHA256
immer ein Fehler des fehlenden Autorisierungsheaders angezeigt wird<Base64EncodedCredentials>
von @ timothy-kansaki erwähnte benötigen, können Sie den codierten Berechtigungsnachweis außerdem mit dem folgenden Befehl abrufen :cred="$( echo $NAME:$PASSWORD | base64 )"; curl -H "Authorization: Basic $cred" https://example.com
. Referenz finden Sie unter stackoverflow.com/questions/16918602/…Inhaber-Token sehen folgendermaßen aus:
quelle
(für diejenigen, die nach einer PHP-Curl- Antwort suchen )
quelle
Das hat bei mir funktioniert:
quelle
Authorization: bearer xxxxxxxxx
?Bearer
Bearer
.Für HTTP Basic Auth:
curl -H "Authorization: Basic <_your_token_>" http://www.example.com
ersetzen
_your_token_
und die URL.quelle
echo -ne "<your-user>:<your-pass>" | base64 --wrap 0
generiert das grundlegende Authentifizierungstoken.-H "Authorization: Basic <_your_token_>"
macht den gleichen Effekt wie--user login:password
. Sie können es überprüfen mitcurl -v
Seien Sie vorsichtig, wenn Sie:
curl -H "Authorization: token_str" http://www.example.com
token_str
undAuthorization
muss durch Leerzeichen getrennt werden, sonst erhält die Server-Seite dieHTTP_AUTHORIZATION
Umgebung nicht.quelle
Wenn Sie das Token zum Zeitpunkt des Anrufs nicht haben, müssen Sie zwei Anrufe tätigen, einen, um das Token zu erhalten, und einen, um das Token aus der Antwort zu extrahieren
da es der Teil ist, der sich mit dem Extrahieren des Tokens aus der Antwort befasst.
Nach dem Extrahieren des Tokens können Sie das Token verwenden, um nachfolgende Aufrufe wie folgt durchzuführen.
quelle