这可以毫无问题地写入文件:
curl -x myproxy.baseurl.com:80 -H "Authorization: Token mytoken" https://app.api.com/?status=Approved > output.txt
这会将输出发送到命令行并挂起,直到我按下 ctl-c:
curl -x myproxy.baseurl.com:80 -H "Authorization: Token mytoken" https://app.api.com/?status=Approved&page_size=100000 > output.txt
是否存在某种负载大小限制?第一次调用中的 JSON 响应长度为 270,928 个字符。第二个,双参数,call的长度是622,133。
会不会是超时问题?在使用 SoapUI 进行测试时,第一个有效负载需要约 5 秒,第二个有效负载需要约 11 秒。
更新:如果我在第二次调用时不使用 ctl-c,最终 curl 会超时:curl: (28) connect() timed out!
更新 2:FWIW,这是我正在编写的 shell 脚本的一部分,所以是的,这是一个编程问题。 :P
最佳答案
请确保引用您的 URL,因为 shell 正在解释与号以将 curl 置于后台。
curl -x myproxy.baseurl.com:80 -H "Authorization: Token mytoken" "https://app.api.com/?status=Approved&page_size=100000" > output.txt
关于linux - 将 curl REST API 调用重定向到文件不适用于大负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56550256/