Python richiede alla libreria come passare l'intestazione Authorization con un singolo token


Answers

Stavo cercando qualcosa di simile e mi sono imbattuto in questo . Sembra nella prima opzione che hai menzionato

r = requests.get('<MY_URI>',auth=('<MY_TOKEN>'))

"auth" accetta due parametri: username e password, quindi dovrebbe essere la dichiarazione effettiva

r=requests.get('<MY_URI>',auth=('<YOUR_USERNAME>','<YOUR_PASSWORD>')

Nel mio caso, non c'era alcuna password, quindi ho lasciato il secondo parametro nel campo auth vuoto come mostrato di seguito:

r=requests.get('<MY_URI',auth=('MY_USERNAME',''))

Spero che questo aiuti qualcuno :)

Question

Ho un URI di richiesta e un token. Se io uso:

curl -s "<MY_URI>" -H "Authorization: TOK:<MY_TOKEN>"

ecc., ottengo un 200 e visualizzo i dati JSON corrispondenti. Quindi, ho installato le richieste e quando tento di accedere a questa risorsa ottengo un 403 probabilmente perché non conosco la sintassi corretta per passare quel token. Qualcuno può aiutarmi a capirlo? Questo è quello che ho:

import sys,socket
import requests

r = requests.get('<MY_URI>','<MY_TOKEN>')
r. status_code

Ho già provato:

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>'))

Ma nessuno di questi lavori.




Puoi provare qualcosa come questo

r = requests.get(ENDPOINT, params=params, headers={'Authorization': 'Basic %s' %  API_KEY})





Related