使用cURL进行下载

这则攻略将为你展示cURL一系列最为重要的特性

安装cURL

yum install curl

下载网页

与wget不同的是,cURL不会将获取的数据保存为文件,所以我们需要使用输出重定向生成文件

[root@mio-test ~]# curl http://1v20.com > a.html
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7657    0  7657    0     0  43989      0 --:--:-- --:--:-- --:--:--   99k

—slient 避免显示进度条

[root@mio-test ~]# curl http://1v20.com --silent > a.html

-o 将数据写入磁盘

除了使用重定向另存文件以外,还能使用-o保存文件

[root@mio-test ~]# curl http://1v20.com --silent -o 1.html

-c 断点续传

[root@mio-test ~]# curl -c -url http://1v20.com

设置referer

有的网页限制了referer,我们可以手工指定referer

[root@mio-test ~]# curl --referer http://i.1v20.com http://1v20.com

—cookie 设置cookie

我们可以用cURL来存储HTTP操作中使用到的cookie

 curl http://1v20.com --cookie "user=liulibo;pass=boliliu"

—user-agent 设置浏览器信息

[root@mio-test ~]# curl http://1v20.com --user-agent "Mozilla 99.0"

-H 设置头部信息

[root@mio-test ~]-H "HOST: 1v20.com" -H "Accept-language: en" http://1v20.com

—limit-rate 限定cURL占用带宽

如果带宽有限,又有多个用户共享,为了平稳的分享带宽,我们可以用—limit-rate限制下载速度

[root@mio-test ~]# curl http://1v20.com --limit-rate 1k

—max-filesize 限定可下载的最大文件大小

[root@mio-test ~]# curl http://1v20.com --max-filesize 1k

-u 用cURL进行认证

[root@mio-test ~]# curl -u test:test http://1v20.com

-I或-head 打印HTTP头部信息

检查HTTP头部的一个用例就是在下载之前先查看文件大小,我们在下载之前,通过检查HTTP头部中的Content-Length参数来得知文件的长度,同样还可以从头部检索出其他的一些有用的参数,Last-Modified能告诉我们远程文件的最后改动时间

[root@mio-test ~]# curl -I http://1v20.com
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 28 Aug 2014 03:34:37 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3