用认证标题装饰请求

问题描述 投票:0回答:1

我有一个API,可以与不同的API进行通信,其中大多数都作为宁静的Web服务公开。我使用的是python请求,出于某些原因,在某些环境中API是安全的,而在其他环境中则不是。因此,我想找到一种基于条件(可能是env变量或)包含身份验证的方法。是否有任何方法可以使用装饰器来达到理想的效果?

python oauth-2.0 python-requests bearer-token
1个回答
0
投票

这里是一个我根据另一个文件中设置的变量进行授权的示例。

在同一目录ENV.py和py_request.py中有两个文件。我添加了一些我已经看到并用来对auth进行注释的方式。

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)

© www.soinside.com 2019 - 2024. All rights reserved.