Flask:如何进行一次身份验证并将请求对象用于所有服务器请求

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

我正在使用 Flask 和网络请求。当用户发出请求时,我在内部向第三方 API 发出两个请求。对于传入的每个请求,此 API 需要基本身份验证。

我的问题是如何全局设置一次基本身份验证,然后对所有用户使用请求对象。例如,要调用第三方 API,我会这样做:

username = "AA"
password ="XXX"
file_repo_api1 = f'https://api.foo.org/api/auth'
file_response1 = requests.get(file_repo_api1, auth=HTTPBasicAuth(username, password))
page_json1 = file_response1.json()

file_repo_api2 = f'https://api.foo.org/api/info'
file_response2 = requests.get(file_repo_api2, auth=HTTPBasicAuth(username, password))
page_json2 = file_response2.json()

我可以全局设置“auth=HTTPBasicAuth(用户名,密码)”部分吗?

python-3.x api flask
1个回答
0
投票

您应该能够使用

requests.Session
来实现此目的,根据此处的文档

s = requests.Session()
s.auth = ('user', 'pass')
s.get('https://api.foo.org/api/info')
© www.soinside.com 2019 - 2024. All rights reserved.