curl 与 wget 的差异与选择

结论先行

curl 适合 API 调试、多协议请求和精细控制;wget 适合递归下载、镜像站点和断点续传。脚本里调 HTTP API 通常用 curl,下载整站或大文件常用 wget。

核心差异

维度 curl wget
协议 HTTP/HTTPS、FTP、SFTP、SMTP 等 主要是 HTTP/HTTPS/FTP
递归下载 不支持 支持 -r、-m
断点续传 支持 -C - 支持 -c
请求控制 方法、头、数据、认证非常细 偏下载场景
上传 支持多种协议 支持有限
默认输出 输出到 stdout 保存为文件
代理/证书 选项丰富 选项较简单

怎么选

注意

curl -fsSL -o app.tar.gz https://example.com/app.tar.gz
curl -v -X POST -H 'Content-Type: application/json' \
  -d '{"id":1}' https://api.example.com/items
wget -c https://example.com/big.iso
wget -r -np -k https://docs.example.com/

相关命令