san*_*ndy 4 bash shell curl amazon-ec2
我正在尝试发布大小> 2 Gb 的文件,但curl 命令失败并出现内存不足错误。
curl:option --data-urlencode: out of memory
Run Code Online (Sandbox Code Playgroud)
我正在使用的curl命令:
curl -X POST -k --header 'content-type: application/x-www-form-urlencoded' \
--header accept: text/csv --data-urlencode 'form_id=' 12 \
--data-urlencode 'list_id=' 25 --data-urlencode 'file_name@' list.csv \
https://example.com
Run Code Online (Sandbox Code Playgroud)
Dan*_*erg 12
--data-urlencode
会将 2GB 数据加载到内存缓冲区中,然后将其 URL 编码到新的内存缓冲区中进行编码,这意味着此操作需要 >4GB 内存。
未来对curl的增强可能是(让它检测到巨大的尺寸)切换到流式方法。
解决方法是“手动”渲染 URL 编码文件(包含要发送到服务器的完整内容),然后使用-X POST -T file
该文件。
归档时间: |
|
查看次数: |
1695 次 |
最近记录: |