使用 Bearer 和 Python 中的请求变量建立授权 header 的正确方法
Correct way to build up an Authorization header with Bearer and a variable for requests in Python
在 python 中构建请求 header 以用于请求的正确方法是什么?
header 需要采用以下格式:
"Authorization : Bearer ....token...." 其中....token.... 是从之前发出的 OATH 请求中获得的变量。
我试过了:
auth_token_string = "Bearer "+token
api_headers = {}
api_headers["Authorization"] = auth_token_string
api_headers["x-api-key"] = "randomjazzhere"
api_headers["accept"] = "application/json"
print(api_headers)
result = requests.get(api_call_url, headers=api_headers)
result_json = result.json()
something = result.text
print(something)
它打印的内容看起来格式正确 header,但调用失败,并且 api 没有更具体地说明问题是什么...
HTTP headers 区分大小写,而您的 accept
header 有小写字母“a”,我不确定,但请尝试将其大写为 Accept
。
还建议重组您的代码,例如:
auth_token_string = "Bearer "+token
api_headers = {
"Authorization": auth_token_string,
"x-api-key": "randomjazz",
"Accept": "application/json"
}
print(api_headers)
result = requests.get(api_call_url, headers=api_headers)
result_json = result.json()
something = result.text
print(something)
如果仍然无效,请尝试将 x-api-key
中的 x 也更改为大写(mdn 文档提到大写 x,他们还提到这些在 2012 年已被弃用)
在 python 中构建请求 header 以用于请求的正确方法是什么?
header 需要采用以下格式:
"Authorization : Bearer ....token...." 其中....token.... 是从之前发出的 OATH 请求中获得的变量。
我试过了:
auth_token_string = "Bearer "+token
api_headers = {}
api_headers["Authorization"] = auth_token_string
api_headers["x-api-key"] = "randomjazzhere"
api_headers["accept"] = "application/json"
print(api_headers)
result = requests.get(api_call_url, headers=api_headers)
result_json = result.json()
something = result.text
print(something)
它打印的内容看起来格式正确 header,但调用失败,并且 api 没有更具体地说明问题是什么...
HTTP headers 区分大小写,而您的 accept
header 有小写字母“a”,我不确定,但请尝试将其大写为 Accept
。
还建议重组您的代码,例如:
auth_token_string = "Bearer "+token
api_headers = {
"Authorization": auth_token_string,
"x-api-key": "randomjazz",
"Accept": "application/json"
}
print(api_headers)
result = requests.get(api_call_url, headers=api_headers)
result_json = result.json()
something = result.text
print(something)
如果仍然无效,请尝试将 x-api-key
中的 x 也更改为大写(mdn 文档提到大写 x,他们还提到这些在 2012 年已被弃用)