Ich habe eine Anforderungs-URI und ein Token. Wenn ich benutze:
curl -s "<MY_URI>" -H "Authorization: TOK:<MY_TOKEN>"
usw. bekomme ich eine 200 und sehe mir die entsprechenden JSON-Daten an. Also habe ich Anforderungen installiert und wenn ich versuche, auf diese Ressource zuzugreifen, erhalte ich wahrscheinlich eine 403, weil ich nicht die richtige Syntax kenne, um dieses Token zu übergeben. Kann mir jemand helfen, es herauszufinden? Das habe ich:
import sys,socket
import requests
r = requests.get('<MY_URI>','<MY_TOKEN>')
r. status_code
Ich habe es schon versucht:
r = requests.get('<MY_URI>',auth=('<MY_TOKEN>'))
r = requests.get('<MY_URI>',auth=('TOK','<MY_TOKEN>'))
r = requests.get('<MY_URI>',headers=('Authorization: TOK:<MY_TOKEN>'))
Aber nichts davon funktioniert.
Ich suchte nach etwas Ähnlichem und stieß darauf . Es sieht aus wie in der ersten Option, die Sie erwähnt haben
"auth" akzeptiert zwei Parameter: Benutzername und Passwort, daher sollte die eigentliche Anweisung lauten
In meinem Fall gab es kein Passwort, daher habe ich den zweiten Parameter im Auth-Feld leer gelassen, wie unten gezeigt:
Hoffe das hilft jemandem :)
quelle
r = requests.get('<MY_URI>',auth=('<MY_TOKEN>'))
, werden Sie bekommenTypeError: 'str' object is not callable
. das hat mich eine WeileDas hat bei mir funktioniert:
quelle
Sie können auch Header für die gesamte Sitzung festlegen:
quelle
Anforderungen unterstützen die grundlegende Authentifizierung nativ nur mit Benutzerpassparametern, nicht mit Token.
Wenn Sie möchten, können Sie die folgende Klasse hinzufügen, damit Anforderungen die tokenbasierte Basisauthentifizierung unterstützen:
Führen Sie dann die folgende Anforderung aus, um es zu verwenden:
Eine Alternative wäre, stattdessen einen benutzerdefinierten Header zu formulieren, wie dies von anderen Benutzern hier vorgeschlagen wurde.
quelle
Ich habe hier gegründet, es ist ok für mich für Linkedin: https://auth0.com/docs/flows/guides/auth-code/call-api-auth-code, also mein Code mit mit Linkedin Login hier:
quelle
Sie können so etwas versuchen
quelle
Das hat bei mir funktioniert:
Mein Code verwendet ein vom Benutzer generiertes Token.
quelle