我需要来自服务的GET
数据。我正在传递一堆ID。
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
。我们可以为获取请求做些什么吗?
答案 0 :(得分:5)
您可以选择从“配置文件”中读取所有选项和URL,而不是使用-K从命令行读取,这将完全消除长度限制。如果需要,您还可以从stdin读取“配置文件”,因此在编写脚本时,实际上不需要为此创建临时文件。
另请参阅免费卷曲书中的config file部分。
答案 1 :(得分:-1)
如果可能你可以将数据传递给Json,这会使你的请求加载一些比较简单的整个数组
curl -X POST -H "Content-Type: application/json" -d @- "$HOST" <<CURL_DATA
{ "data": "$DATA" }
CURL_DATA