众所周知,Curl 是非常有用的命令行程序,用来在服务器上传输数据。我们已经在前面文章中讨论过了。
在本教程的第二部分中,我们将进一步讨论 Curl 的用途。
(1) 使用代理下载文件
如果我们要使用代理来访问 internet,那么在使用 curl 命令下载文件时需要提供代理信息,使用的选项 -x 可以达成目的,示例如下:
$ curl -x proxy.server.com:3128 download_URL
(2) 限制数据传输速率
当下载文件时,我们可能想要限制下载的速度,因为下载可能最终会占用整个网络带宽。我们可以使用 --limit-rate 选项限制下载速度,示例如下:
$ curl --limit-rate 1024B -O download_URL
Example:3 下载在指定日期之前或之后修改的文件
从一个网站下载在 2017年1月1日之后修改过的文件,示例如下:
$ curl -z 1-Jan-17 download_URL
从一个网站下载在 2017年1月1日之前修改过的文件,示例如下:
$ curl -z -1-Jan-17 download_URL
(4) 认证后下载文件
有许多网站只允许认证和授权之后下载文件,要使用 curl 下载这样一个文件,我们可以使用 -u 选项,示例如下:
$ curl -u username:password download_URL
(5) 恢复下载
有时它发生在下载文件,特别是当下载大文件时,我们需要停止下载以节省带宽来执行一些其他重要任务,或者我们的下载可能会由于一些网络问题而中断。我们可以使用 -C 选项,从中断或停止的位置开始下载,示例如下:
$ curl -C download_URL
(6) 从 FTP 服务器下载文件
Curl 支持许多协议,FTP 就是其中之一,示例如下:
$ curl -u ftpuser:password -O ftp://ftp_pub/public_html/index.html
(7) 上传文件到 FTP 服务器
上传单个文件到 FTP 服务器,示例如下:
$ curl -u ftpuser:password -T linuxtechi.txt ftp://ftp_pub/public_html/
上传多个文件到 FTP 服务器,示例如下:
$ curl -u ftpuser:password -T "(linuxtechi1.txt linuxtechi2.txt)" ftp://ftp_pub/public_html/
(8) 从 FTP 服务器删除文件
使用 curl,我们还可以从 FTP 服务器中删除文件,示例如下:
$ curl ftp://ftp_pub/public_html -X 'DELE linuxtechi.zip' --user ftpuser:password
(9) 验证 SSL 证书
We might need to verify the SSL certificate of the website from where we are downloading data. We can do so by using ‘ -carcert ‘ option with curl command, we also need to provide the name of the certificate that we need to verify,
有时我们可能需要验证下载数据的网站的 SSL 证书,我们可以通过使用 -carcert 来做到这一点,我们还需要提证书的名称,示例如下:
$ curl --cacert new-ca.crt download_URL
(10) 忽略 SSL 证书警告
当使用一个可能带有自签名证书的网站时,我们会收到一个 SSL 证书警告消息,要忽略此消息并继续下载,我们可以使用 -k 选项,示例如下:
$ curl -k download_url
以上是 curl 命令的一些使用示例,请在下面的评论框中分享您的评论和疑问。