gpt4 book ai didi

python - 如何在 app.post 中发送身份验证凭据以进行 API View 的 Flask 单元测试

转载 作者:行者123 更新时间:2023-11-28 21:46:43 24 4
gpt4 key购买 nike

我写了一个 Flask 应用程序。在那里,我使用基本身份验证来限制某些 POST API View 。从 Python 请求中,我可以访问这些 View -

print post(url, json=data, auth=('username', 'password'))

从 curl ,

curl -a username:password -d "data" url

如何在 app.post 中做同样的事情?我尝试将 authauthorization 等作为 post 的参数,但它们无效。

response = self.app.post(
url,
data=data,
headers={
'content-type': 'application/json'
},
follow_redirects=True
)

最佳答案

基本授权凭证存储在 header 中,如下所示 -

"Authorization": "Basic username:password"

但是 username:password 部分是 base64 编码的。所以可以使用 base64 模块来做同样的事情。

import base64

headers={
'content-type': 'application/json',
'Authorization': 'Basic %s' % base64.b64encode('username:password')
}

在上述情况下,授权将设置为 Basic dXNlcm5hbWU6cGFzc3dvcmQ=

这将允许您使用来自 Flask 测试框架的基本授权。干杯!

关于python - 如何在 app.post 中发送身份验证凭据以进行 API View 的 Flask 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com