你常用的curl竟还有这功能 curl 有什么用( 二 )


curl -u user:password -O ftp://ftp_server/path/to/file/readme
上述命令将会直接下载FTP服务器上的readme文件 。
curl -u user:password -O ftp://ftp_server/path/to/file/
上述命令则罗列出该目录下所有的目录和文件 。


模糊匹配下载路径cURL支持URL中给定的范围 。当给定范围时,将下载该范围内匹配的文件 。从FTP镜像站点下载软件包会很有帮助 。
curl ftp://ftp_server/path/to/dest/[a-z]/
这样会罗列出所有从dest/a/ 到 dest/z/ 目录下的所有文件和目录 。


上传文件到FTP服务器cURL还可以用于通过-T选项将文件上传到FTP服务器 。
curl -u user:password -T build.tar.gz ftp://ftp_server/path/to/dest/
上述命令把压缩包 build.tar.gz 推送到FTP服务器目录 。
curl -u user:password -T "{file1,file2}" ftp://ftp_server/
上述命令则是上传多个文件到FTP服务器 。
还有一个黑魔法,就是“-”,使用管道处理,获取stdin信息流,并经由cURL上传到FTP服务器 。
echo blablabla | curl -u user:password -T - ftp://ftp_server/path/summary.log


更详细的输出Linux下的同学应该很熟悉,多加几个-v就可以了 。cURL也是如此 。
curl -vvv URL
加到3个-v,请求的握手过程都给打印出来了 。


通过代理下载文件我们可以使用-x选项指定curl来使用代理执行特定的操作,需要指定代理的主机和端口 。
curl -x proxy_ip:port URL
使用长选项更好记 。
curl --proxy proxy_ip:port URL


使用SMTP协议发邮件cURL还可用于通过SMTP协议发送邮件 。你应该指定发件人地址、收件人地址和邮件服务器IP地址,如下所示 。
curl --mail-from foo@bar.com --mail-rcpt foo@bar.com smtp://mailserver.com
一旦输入上述命令,它将等待用户向邮件提供数据 。编写完消息后,请键入.(英文句号)作为最后一行,将立即发送电子邮件 。
Subject: TestingThis is a test mail.


写在最后【你常用的curl竟还有这功能 curl 有什么用】cURL提供的能力,不亚于生态完整的浏览器,更多用法等你来使用 。