我有一个API,可以与不同的API进行通信,其中大多数都作为宁静的Web服务公开。我使用的是python请求,出于某些原因,在某些环境中API是安全的,而在其他环境中则不是。因此,我想找到一种基于条件(可能是env变量或)包含身份验证的方法。是否有任何方法可以使用装饰器来达到理想的效果?
这里是一个我根据另一个文件中设置的变量进行授权的示例。
在同一目录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)