使用Python requests传递Token作为Header时遇Authorization缺失错误
解决方法
你的问题出在两个关键细节上:
- Authorization头格式不匹配:原curl命令里的token是被双引号包裹的(
Token token=\"$token\"),但你的Python代码里没有添加双引号,导致Header格式不符合服务端的校验要求。 - 未处理SSL验证跳过:curl的
-k参数是忽略SSL证书验证,而requests默认会强制验证SSL证书,需要显式关闭该校验才能和curl行为一致。
修正后的代码:
import requests token = "abcdef" # 给token添加双引号,和curl的请求头格式完全对齐 token_header = {'Authorization': f'Token token="{token}"'} # 添加verify=False参数对应curl的-k,跳过SSL证书验证 response = requests.get("https://conjur.com/secret", headers=token_header, verify=False) print(response.text)
如果目标服务的SSL证书是可信的(非自签名),可以去掉verify=False参数,避免安全风险。
内容的提问来源于stack exchange,提问作者Devm12
相关产品推荐
相关产品推荐

