在命令行上通过 CURL 传递 X-Authentication
Passing X-Authentication via CURL on command line
我正在尝试使用需要授权的 GET 卷曲 URL,但无论我如何传递令牌,我都会得到返回的结果:
{
"response": {
"error": "Authentication required",
"error_code": 1
}
}
我问过我正在使用的 API 的开发人员,但我只被告知“令牌必须包含在 X-Authorization HTTP header 中”这并没有告诉我我做错了什么。
这是我尝试过的命令之一的示例:
curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer MyTokenGoesHere" -k https://example.com/SomeFolder/endofAPIURL?ArgumentOne=foo&ArgumentTwo=bar
我尝试了多种方法来传递令牌,但我显然做错了什么,因为 none 似乎甚至在传递令牌时我得到的是“需要身份验证”而不是 incorrect/invalid.
以下是我尝试传递令牌的所有方式:
-H "Authorization: MyTokenGoesHere"
-H "Authorization: Basic MyTokenGoesHere"
-H "Authorization: Bearer MyTokenGoesHere"
-H "Authorization: Oauth MyTokenGoesHere"
-H "X-Auth-Token: MyTokenGoesHere"
-H "X-Auth-Token: Basic MyTokenGoesHere"
-H "X-Auth-Token: Bearer MyTokenGoesHere"
-H "X-Auth-Token: Oauth MyTokenGoesHere"
所有这些传递令牌的不同方式都取自该站点上的各种帖子。
我觉得我遗漏了一些明显的东西,但我就是看不到它。
所以事实证明 API 使用的是自定义 header 但没有在任何地方记录它。提供的文档还使用了 X-Auth-Token(我认为这本身就是习惯,但可能是错误的)这就是我尝试这样做的原因。
在我的特殊情况下,我需要的是 -H "AuthTo: MyTokenGoesHere"
我正在尝试使用需要授权的 GET 卷曲 URL,但无论我如何传递令牌,我都会得到返回的结果:
{
"response": {
"error": "Authentication required",
"error_code": 1
}
}
我问过我正在使用的 API 的开发人员,但我只被告知“令牌必须包含在 X-Authorization HTTP header 中”这并没有告诉我我做错了什么。
这是我尝试过的命令之一的示例:
curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer MyTokenGoesHere" -k https://example.com/SomeFolder/endofAPIURL?ArgumentOne=foo&ArgumentTwo=bar
我尝试了多种方法来传递令牌,但我显然做错了什么,因为 none 似乎甚至在传递令牌时我得到的是“需要身份验证”而不是 incorrect/invalid.
以下是我尝试传递令牌的所有方式:
-H "Authorization: MyTokenGoesHere"
-H "Authorization: Basic MyTokenGoesHere"
-H "Authorization: Bearer MyTokenGoesHere"
-H "Authorization: Oauth MyTokenGoesHere"
-H "X-Auth-Token: MyTokenGoesHere"
-H "X-Auth-Token: Basic MyTokenGoesHere"
-H "X-Auth-Token: Bearer MyTokenGoesHere"
-H "X-Auth-Token: Oauth MyTokenGoesHere"
所有这些传递令牌的不同方式都取自该站点上的各种帖子。
我觉得我遗漏了一些明显的东西,但我就是看不到它。
所以事实证明 API 使用的是自定义 header 但没有在任何地方记录它。提供的文档还使用了 X-Auth-Token(我认为这本身就是习惯,但可能是错误的)这就是我尝试这样做的原因。
在我的特殊情况下,我需要的是 -H "AuthTo: MyTokenGoesHere"