卷曲获取请求参数列表太长

don*_*nny 0 unix bash shell parsing curl

我需要GET来自服务的数据.我正在传递一堆ID.

id存储在以逗号分隔的文件中

示例:cat id_file

1,2,3,4,5,6,7,8,9,10,.....10000.
Run Code Online (Sandbox Code Playgroud)

文件中有数千个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
Run Code Online (Sandbox Code Playgroud)

curl命令失败并显示错误 "/usr/bin/curl: Argument list too long".

现在POST我们可以指定卷曲@filename.我们可以为获取请求做些什么吗?

Dan*_*erg 5

您可以选择从"配置文件"中读取所有选项和URL,而不是使用-K从命令行读取,这将完全消除长度限制.如果需要,您还可以从stdin读取"配置文件",因此在编写脚本时,实际上不需要为此目的创建临时文件.

另请参阅免费卷曲书中的配置文件部分.

  • 当您使用的工具的作者回答问题时,这总是很棒! (2认同)