Avi*_*Avi 2 python flask flask-restful flask-restplus
我写了一个Flask应用程序。在这种情况下,我正在使用基本身份验证来限制某些POST API视图。从Python请求中,我可以按以下方式访问这些视图:
print post(url, json=data, auth=('username', 'password'))
Run Code Online (Sandbox Code Playgroud)
从卷曲
curl -a username:password -d "data" url
Run Code Online (Sandbox Code Playgroud)
如何在app.post中做同样的事情?我想auth,authorization等为参数,post但它们是无效的。
response = self.app.post(
url,
data=data,
headers={
'content-type': 'application/json'
},
follow_redirects=True
)
Run Code Online (Sandbox Code Playgroud)
基本授权凭证存储在标头中,如下所示-
"Authorization": "Basic username:password"
Run Code Online (Sandbox Code Playgroud)
但是,该username:password部分是base64编码的。因此,可以使用base64模块执行相同的操作。
import base64
headers={
'content-type': 'application/json',
'Authorization': 'Basic %s' % base64.b64encode('username:password')
}
Run Code Online (Sandbox Code Playgroud)
在上述情况下,授权将设置为 Basic dXNlcm5hbWU6cGFzc3dvcmQ=
这将允许您使用Flask测试框架的基本授权。干杯!