【发布时间】:2021-03-25 17:45:37
【问题描述】:
在使用 POST 请求对 API 进行身份验证后,我获得了一个 JWT 令牌。
使用该令牌,我可以在命令提示符下成功调用curl:
curl --request GET https://corpURL/customer/wlsAccountManagement/v1/billingAccount/23435657 --header "env: it04" --header "Authorization: Bearer tokenstring..."
但是当我尝试在节点中执行它时,它会以Received HTTP code 503 from proxy after CONNECT 失败。
我什至在命令提示符下尝试了基本的 curl 并且它有效:
curl -v https://corpURL/customer/wlsAccountManagement/v1/billingAccount/23435657
它只是告诉我我未经授权{"message":"Unauthorized"},这是正确的。
在节点中,我什至无法获得{"message":"Unauthorized"},它仍然给我Received HTTP code 503 from proxy after CONNECT。
我使用 curl 的原因是因为我可以看到更多信息。使用 axios 它会给我一个 "socket hang up" 错误。
一天多来,我一直试图让它工作并在线搜索解决方案。有谁知道这里发生了什么?为什么它在命令提示符下有效,但在节点中无效?谢谢!
【问题讨论】:
-
它看起来像后端的一个错误。您可以从服务器访问更详细的日志吗?
-
后端API?还是我正在制作的后端?除了令牌调用,然后是对数据的 GET 请求,我什么都没有,这是问题所在。 GET 请求的 corp API 是可靠的,它有效,终端中的 curl 证明它有效,另一个团队有一个旧节点项目,他们使用 axios.get() 请求并且它有效。我不明白为什么我的简单请求没有,为什么 curl 也没有。谢谢!
-
在您的 curl 示例中,您将标题“env”设置为“it04”。您是否在节点调用中设置它?也许缺少它会导致 corp API 出现一些错误行为?
-
是的,
const headers = { Authorization:Bearer ${token}, 'Content-Type': 'application/json', env: 'it04', };