我正在使用 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(用户名,密码)”部分吗?
您应该能够使用
requests.Session
来实现此目的,根据此处的文档
s = requests.Session()
s.auth = ('user', 'pass')
s.get('https://api.foo.org/api/info')