问题
当使用curl命令时,如果你的请求体过长,curl工具会报argument list too long,那怎么解决呢?
解决方案
利用管道技术,让curl从管道里面读取参数
- 将请求体json保存到文本文件中,这里比如为search.txt
- 编写curl命令,通过管道读取数据,-d @-,示例如下:
cat search.txt | curl -u admin:admin -X POST http://localhost:9200/index-1-2020.11.05/_search -H 'Content-Type:applicatin/json' -d @- > result.txt
- 说明:
cat search.txt:通过管道,将cat的参数输入管道
curl -u admin:admin: 这里假设你使用的认证为admin:admin
-d @-: 这里-d指明请求体,@-代表从管道里面获取数据
> result.txt:将请求结果写入result.txt文件
总结
如有问题,或有更好的解决方案,欢迎留言讨论,谢谢









网友评论