Cre*_*ara 4 python authentication api json
我正在尝试连接到 API,我必须对用户名和密码进行编码。“授权”值应如下所示:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ
当我尝试连接时,出现错误:“未经授权:凭据错误”。支持人员说我的凭据没问题,但他们对解决我的问题的反应很慢。
我怀疑代码的编码部分,但我不确定。你能看看我的代码并告诉我它可能有什么问题吗?
文档中有关身份验证部分的直接链接:http : //developer.outbrain.com/home-page/amplify-api/documentation/#/reference/authentications/via-api
m = str(base64.b64encode(b'xxxxx:xxxxxxx'))
headers = {
'Authorization': 'Basic ' + m + ''
}
r = requests.get('https://api.outbrain.com/amplify/v0.1/login', headers=headers)
print(r.json())
Run Code Online (Sandbox Code Playgroud)
您需要使用decode从字节序列中正确获取字符串:
错误(注意结果中的 'b' 前缀和单引号):
>>> str(base64.b64encode(b'test'))
"b'dGVzdA=='"
Run Code Online (Sandbox Code Playgroud)
对:
>>> base64.b64encode(b'test').decode('utf-8')
'dGVzdA=='
Run Code Online (Sandbox Code Playgroud)
此外,requests可以为您执行此操作:
from requests.auth import HTTPBasicAuth
r = requests.get('https://api.outbrain.com/amplify/v0.1/login', auth=HTTPBasicAuth('user', 'pass'))
Run Code Online (Sandbox Code Playgroud)