You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell脚本中curl读取输入异常:Azure Key Vault密钥获取报400错误

解决Azure Key Vault curl请求400错误(Token截断问题)

问题原因

第二条curl命令中,$ACCESS_TOKEN未被正确引用,当token包含空格或特殊字符时,Shell会将其拆分为多个命令参数,导致Authorization请求头被截断,后续参数混乱,触发400 Bad Request错误。

修正后的命令

ACCESS_TOKEN=$(curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true | jq -r .access_token)

CONFIG_SECRET=$(curl 'https://sFlowDeploymentKeys.vault.azure.net/secrets/config?api-version=2016-10-01' -H "Authorization: Bearer '$ACCESS_TOKEN'" --http1.1)

原理说明

通过将$ACCESS_TOKEN用单引号包裹在Authorization头的双引号内,确保Shell将整个token作为一个完整的参数传递,避免因特殊字符或空格导致的参数拆分,保证请求头格式符合Azure Key Vault的要求。

验证方法

执行以下命令确认修正后的请求格式是否正确:

echo curl 'https://sFlowDeploymentKeys.vault.azure.net/secrets/config?api-version=2016-10-01' -H "Authorization: Bearer '$ACCESS_TOKEN'" --http1.1

检查输出中token是否完整包含在Authorization头里,未出现拆分到--http1.1前后的情况。

内容的提问来源于stack exchange,提问作者user13436991

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 06:27:17