curl获取请求参数列表太长
问题描述:
我需要GET
来自服务的数据。我传递了一堆ID到它。curl获取请求参数列表太长
的ID被存储在由逗号
实施例分开一个文件:cat id_file
1,2,3,4,5,6,7,8,9,10,.....10000.
有成千上万的文件中的id。
在我的shell脚本我用
id_list=$(cat id_file)
curl -H "Authorization: Bearer $token" -X GET "http://prk.xyx.com/tpt/abc/v2/dce_info?Id=$id_list&mpId=0" > op_data.json
curl命令有错误"/usr/bin/curl: Argument list too long".
失败,现在,在卷曲POST
我们可以指定@filename
。我们可以为获取请求做些什么吗?
答
如果可能的话,您可以将您的数据为JSON,使您的请求加载一些如何更方便,而整个阵列
curl -X POST -H "Content-Type: application/json" -d @- "$HOST" <<CURL_DATA
{ "data": "$DATA" }
CURL_DATA
答
您可以选择从“配置文件”,而不是从阅读所有的选项和网址命令行使用-K,这将完全取消长度限制。如果你愿意的话,你也可以从stdin中读取这个“配置文件”,所以当你编写一个脚本时,你并不需要为此创建一个临时文件。
另请参阅免费卷曲书中的config file部分。
+0
谢谢丹尼尔,那工作 – donny
感谢您的输入,但我面临的问题GET不是POST – donny