我正在访问一个具有有限时间不记名令牌身份验证过程的 API 为了获取不记名令牌,我需要每小时查询一个特定的 URL 以获取新令牌。 我有这个代码并且它工作正常。 我遇到的问题是,当我使用新令牌更新 .env 文件,然后发送 get 请求时,它使用旧令牌尝试获取访问权限,并且我不断收到错误代码 401。
我使用 python-dotenv 库加载我的令牌。
我设置了代码,如果收到 401 错误,它会更新身份验证令牌,然后重试。 当我测试时,我发现即使令牌已更新,以下请求仍然使用旧令牌。 我预计我的代码会遇到 401 错误,然后获取新令牌,使用新令牌重试并成功。 我尝试在curl 命令中运行新令牌,以确保它正确且有效。我还注意到,如果我关闭 VScode,然后在获取新令牌后重新打开它,代码将按预期工作,直到我需要新令牌为止。 我需要在 16 小时内每 10 分钟运行一次此代码,因此关闭 VScode 或重新启动 lambda 服务器以使代码每小时再次运行一次并不是一个可行的解决方案
在经历了我在网上找到的不同方法之后,我发现像这样将 override 属性添加到
load_dotenv()
解决了我的问题。