本文主要参考官方文档官方文档。
在利用eve操作MongoDB数据库的时候,难免用到身份验证的功能,官方文档给了配置样例(用户名admin
,密码secret
)后,直接给出了下面这样的获取数据的命令,而没有说明“YWRtaW46c2VjcmV0”是怎么来的,可能是认为使用这个框架的人本来就该知道吧。
$ curl -H "Authorization: Basic YWRtaW46c2VjcmV0" -i http://example.com
通过查资料,我发现这个字符串是对admin:secret
进行base64编码得到的,我在python3字符串base64编解码这篇文章中找到了用python对字符串进行base64编码的方法。
最终,生成headers的代码是这样的:
user_name = "admin"
password = "secret"
s = "%s:%s" % (user_name, password)
authorization = str(base64.b64encode(s.encode('utf-8')), "utf-8")
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + authorization
}
通过验证,是可以用的
网友评论