【发布时间】:2019-12-01 13:26:33
【问题描述】:
这是我的代码:
import requests
API 密钥正确
api_key = c87cabcf1b479b807a7b3ba8xxxxxxxxxxxxxx
headers = {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Token token=api_key'
}
从此 API 获取服务列表
r = requests.get('https://myserver/api/v1.1/server/', headers = headers, verify=False)
print(r.json())
print (r.status_code)
我收到以下错误。我检查了我的令牌正确的一个并且没有过期。
r.json() : {'error': {'code': 'error', 'description': '未提供身份验证凭据。'}}
r.status_code:401
我错过了标题中的某个地方。
【问题讨论】:
-
这里担心的是,我猜你不应该泄露你的 API 密钥
-
可能是 Authorization 标头的问题,您定义了 Token token="",这可能是错误的。能否请您提供 postman 中的 api,以便我查看 API 并帮助您解决此问题。
-
你可以使用 CURL 来完成这项工作吗?相同的标题是否适用于 CURL 命令?
-
CURL 它工作,但我需要 python。我用了同样的钥匙。不适用于 python curl -X GET hostname/api/v1.1/filers -k -H 'Accept: application/json' -H 'Authorization: Token 623598ngna9834j3457cb93f1da0' | sed s/","/\\n/g
标签: python-3.x rest api-key