小编Vad*_*Vad的帖子

如何在期望 json 的情况下使用curl处理分块响应

我正在发出 GET 请求并接收 json 或“二进制”数据。根据我的测试,json 响应的机会与抛硬币相差不远。当我收到二进制数据时,我还会收到“Content-Length: xxx”或“Transfer-Encoding: chunked”响应标头(这也或多或少有 50-50 的机会)。我没有注意到同时获取两个标头(如果我在下面的代码片段中为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
Run Code Online (Sandbox Code Playgroud)

我想找到一个解决方案,在执行下一个脚本之前,我可以确保整个响应都在“output.json”中。

- 编辑 -

我当前的解决方案是检查输出并重file output.json | grep -c "UTF-8 Unicode"试(最多 5 次)。大多数人会说这是一个丑陋的解决方法,有些人甚至可能不再和我说话。我希望我不需要使用这样的“解决方案”。

json curl chunked

2
推荐指数
1
解决办法
9865
查看次数

标签 统计

chunked ×1

curl ×1

json ×1