我刚刚安装了 Ubuntu 21.04。我很惊讶地发现,安装的 curl 版本在很多情况下不显示 JSON 响应主体...我仍在试图理解为什么有时会显示 JSON 主体,而有时却不显示。在某些情况下,添加到-H "Accept: application/json"
调用中确实会显示主体,但我以前从未需要指定这一点。
不幸的是,我发现这个问题的 API 是公司内部的,所以我无法发布具体的例子,但我会说它们是托管在 AWS ApiGateway 上的 API,以防有帮助。GET 响应主体是 JSON,在 Debian 和 macOS 上都能正常显示。
- 我的 Ubuntu 电脑上的 curl 版本是 7.74
- 我工作电脑(macOS)上的版本是 7.64
- 在我的 Ubuntu 机器和 MacBook 上运行,在两台机器上
curl -v https://api.company.com/dev/endpoint
产生的输出几乎相同,以结尾
* Connection #0 to host api.company.com left intact
,但在 macOS 上有一个额外的行,包含正文
{"internal_code": "ok", ....}* Closing connection 0
最后,我要补充一点...
- JSON 响应主体
curl https://reqbin.com/echo/get/json
在 Ubuntu 上显示,并且有时-H "Accept: application/json"
如果我添加到 curl 中,内部 API 将显示主体(但没有总是)。 - HTML 响应主体似乎总是显示。