5月29日 22:48

cURL 支持哪些协议?FTP/SFTP 怎么用?

cURL 支持 20+ 协议:HTTP/HTTPS/FTP/SFTP/SCP/SMTP/IMAP/LDAP/RTSP 等。FTP 上传:curl -T local.txt ftp://server/remote.txt --user user:pass。SFTP 下载:curl sftp://server/file.txt --user user:pass -o local.txt,用 --key ~/.ssh/id_rsa 指定私钥。SFTP 比 FTP 安全,FTP 明文传输密码不推荐生产使用。

追问

FTP 和 SFTP 有什么区别?

FTP 明文传输(密码和数据都裸奔),端口 21+20。SFTP 基于 SSH 加密,端口 22。FTPS 是 FTP+TLS。新项目一律用 SFTP。

如何断点续传?

下载续传:curl -C - -O URL(自动检测断点)。上传续传:curl -C - -T file ftp://server/。HTTP 不支持续传上传。

如何列 FTP 目录?

curl ftp://server/path/ --user user:pass(尾部斜杠表示列目录)。加 -l 只列文件名。

cURL 和 scp 命令的区别?

scp 语法简单(scp file user@host:path),cURL 支持多协议和断点续传。scp 更直观,cURL 更灵活。

如何批量上传文件?

用 glob:curl -T "file[01-99].txt" ftp://server/dir/。或 shell 循环。大文件加 --limit-rate 1M 限速。

标签:cURL