存储服务器帐户中有超过 1000 个文件,当我使用 curl 显示文件列表时,输出仅限于前 1000 个。
只是为了测试,我删除了 GET 列表中显示的一个文件,然后再次执行 GET,这次 curl 确实显示了 1000 个文件以及来自完整列表的附加文件。
有什么方法可以告诉 curl 显示完整列表而不是限制为 1000?
编辑:
curl -X GET -u <user>:<passwd> <url-full-path-of-container>
curl 版本:curl 7.29.0(x86_64-redhat-linux-gnu)
我不确定问题是否出在服务器端,因为我确实没有完全的权限来检查这一点。它也出在服务器端吗?
答案1
您应该提到您正在使用的协议curl
。该-X
命令将列表限制为:HTTP、FTP、POP3、IMAP。哪一个?您为什么使用-X
?
无论如何,远程服务器可能会限制列表:据我所知,curl 对列表没有内在的内部限制。
我建议您尝试使用其他命令行工具或通过使用选项提升调试级别来进行交互式会话(尤其是 FTP)--verbose
。
答案2
对于 Web 服务来说,以下做法很常见且值得推荐:分页他们的回应。也就是说,限制响应中返回的结果数,并让客户端传递参数以获取下一页。某些服务可能允许更改限制(=页面大小),直至达到某个硬编码的上限。
curl
本身不会对响应施加限制。您发现的限制肯定是在服务器端。服务器是否支持自定义页面大小或指定页面(除第一个页面之外)的附加参数,完全取决于服务的实现。我会在 API 文档或响应标头中查找该信息。