【发布时间】:2025-11-30 08:05:02
【问题描述】:
我正在发出 GET 请求并接收 json 或“二进制”数据。根据我的测试,json 响应的机会离抛硬币不远。当我收到二进制数据时,我还会得到“Content-Length:xxx”或“Transfer-Encoding:chunked”响应标头(这也是或多或少 50-50 的机会)。我没有注意到同时获取两个标题(如果我在 sn-p 下方添加 curl 的 -i 选项)。但是,我确实得到了 json 响应的“Content-Length”标头。通常 json 响应大小为 280kB,而分块响应大小约为 40kB。
curl -o output.json\
-H "Content-Type: application/json;charset=UTF-8"\
"www.example.com/data"\
&& ./process-output.sh
我想找到一个解决方案,在执行下一个脚本之前,我可以确保整个响应都在“output.json”中。
--编辑--
我当前的解决方案是使用file output.json | grep -c "UTF-8 Unicode" 检查输出并重试(最多 5 次)。大多数人会说这是一个丑陋的解决方法,有些人甚至可能停止与我交谈。我希望我不需要使用这样的“解决方案”。
【问题讨论】: