Украсить запросы заголовками аутентификации - PullRequest
0 голосов
/ 20 января 2020

У меня есть API, который взаимодействует с разными API, большинство из них представлены как спокойные веб-сервисы. Я использую python -запросы, по определенной причине в определенных средах API-интерфейсы защищены, а в других - нет. Поэтому я хотел бы найти способ включить аутентификацию, основанную на условии, возможно, переменной env или. Есть ли способ достичь этой цели причудливым способом, используя декораторы или около того?

1 Ответ

0 голосов
/ 21 января 2020

Ниже приведен пример авторизации на основе набора переменных в другом файле.

В одном каталоге находятся два файла ENV.py и py_request.py. Я добавил несколько способов, которые я видел и использовал для авторизации закомментированных.

Содержимое ENV.py равно


IS_AUTH=True

Содержимое py_request.py равно


from .ENV import IS_AUTH
import requests
from requests.auth import HTTPBasicAuth

is_auth = IS_AUTH
if is_auth:
    res = requests.get('https://yourwebsite.com/', headers={'Authorization': 'access_token myToken'})
    #res = requests.get('https://yourwebsite.com/', auth=HTTPBasicAuth("username", "password"))
    #res = requests.get('https://yourwebsite.com/', auth=("username", "password"))
else:
    res = requests.get('https://yourwebsite.com/')

print(res.text)

...