Linux下curl下载大文件失败主因是超时、连接中断、SSL验证、代理干扰或磁盘空间不足;应设--max-time、-C -、--retry,并检查证书、代理、磁盘及文件系统限制。

Linux 下用 curl 下载大文件失败,通常不是 curl 本身不支持大文件,而是默认行为或环境限制导致的。关键在超时、连接中断、SSL 验证、代理或磁盘空间等环节。
curl 默认有较短的连接和传输超时(比如 30 秒),下载大文件很容易触发。服务器也可能因空闲时间过长主动断开连接。
--max-time 7200(设为 2 小时)延长总耗时上限--connect-timeout 60 控制建连等待时间-C - 启用断点续传,即使中途断了也能接着下--retry 3 --retry-delay 2 自动重试,适合不稳定网络HTTPS 下载大文件时,TLS 握手或证书校验可能在传输中出错,尤其用老旧系统或自签名证书时。
curl -v https://example.com/file.zip 看握手是否成功-k,但生产环境请勿使用--cacert /path/to/cacert.pem,避免系统证书库缺失公司网络、出口网关或透明代理常对长时间连接做限制,比如强制断连、重置 TCP 连接、拦截大包。
echo $http_proxy $https_proxy,必要时 unset http_proxy https_proxy
--no-keepalive 关闭长连接,减少被中间设备“盯上”的概率-A "Mozilla/5.0",避开某些基于 UA 的拦截规则下载中途报错如 Failed writing body 或 No space left on device,往往不是网络问题。
df -h . 查当前目录所在分区剩余空间touch test.tmp && rm test.tmp
-o /tmp/file.zip 换个临时位置试试,排除路径问题基本上就这些。curl 下载大文件本身很稳,出问题多是环境或参数没调对。先加 -C - 和 --max-time,再结合 -v 看详细过程,基本能定位到根因。
以上就是Linux curl 下载大文件失败?常见原因的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号