Linux下载工具Curl也是Linux下不错的命令行下载工具,小巧、高速,唯一的缺点是不支持多线程下载。以下是他的安装和功能。
一、常用curl实例
抓取页面内容到一个文件中
$ curl -o home.html http://www.sina.com.cn
用-O(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西
$ curl -O http://www.it415.com/czxt/linux/25002_3.html
模拟表单信息,模拟登录,保存cookie信息
$ curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php
模拟表单信息,模拟登录,保存头信息
$ curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php
 #-c(小写)产生的cookie和-D里面的cookie是不一样的
使用cookie文件 
$ curl -b ./cookie_c.txt http://blog.51yip.com/wp-admin
断点续传,-C(大写的)
$ curl -C -O http://www.sina.com.cn
传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功
$ curl -d log=aaaa http://blog.51yip.com/wp-login.php
显示抓取错误
$ curl -f http://www.sina.com.cn/asdf
#curl: (22) The requested URL returned error: 404
伪造来源地址,有的网站会判断,请求来源地址
$ curl -e http://localhost http://www.sina.com.cn
当我们经常用curl去搞人家东西的时候,人家会把你的IP给屏蔽掉的,这个时候,我们可以用代理
$ curl -x 10.10.90.83:80 -o home.html http://www.sina.com.cn
不显示下载进度信息
$ curl -s -o aaa.jpg
显示下载进度条
$ curl -# -O http://www.it415.com/czxt/linux/25002_3.html
通过ftp下载文件
$ curl -u 用户名:密码 -O ftp://blog.51yip.com/demo/curtain/bbstudy_files/style.css
通过ftp上传
$ curl -T xukai.php ftp://xukai:test@192.168.242.144:21/www/focus/enhouse/
二、参数详解
参数:               描述
-M/–manual         显示全手动
-n/–netrc              从netrc文件中读取用户名和密码
–netrc-optional              使用 .netrc 或者 URL来覆盖-n
–ntlm             使用 HTTP NTLM 身份验证
-N/–no-buffer           禁用缓冲输出
-o/–output            把输出写到该文件中
-O/–remote-name            把输出写到该文件中,保留远程文件的文件名
-p/–proxytunnel         使用HTTP代理
–proxy-anyauth         选择任一代理身份验证方法
–proxy-basic         在代理上使用基本身份验证
–proxy-digest         在代理上使用数字身份验证
–proxy-ntlm         在代理上使用ntlm身份验证
-P/–ftp-port      使用端口地址,而不是使用PASV
-Q/–quote         文件传输前,发送命令到服务器
-r/–range              检索来自HTTP/1.1或FTP服务器字节范围
–range-file            读取(SSL)的随机文件
-R/–remote-time         在本地生成文件时,保留远程文件时间
–retry            传输出现问题时,重试的次数
–retry-delay           传输出现问题时,设置重试间隔时间
–retry-max-time         传输出现问题时,设置最大重试时间
-s/–silent             静音模式。不输出任何东西
-S/–show-error             显示错误
–socks4            用socks4代理给定主机和端口
–socks5            用socks5代理给定主机和端口
-t/–telnet-option         Telnet选项设置
–trace            对指定文件进行debug
–trace-ascii Like         跟踪但没有hex输出
–retry-delay            传输出现问题时,设置重试间隔时间
–trace-time            跟踪/详细输出时,添加时间戳
-T/–upload-file            上传文件
–url            Spet URL to work with
-u/–user              设置服务器的用户和密码
-U/–proxy-user            设置代理用户名和密码
-V/–version            显示版本信息
-w/–write-out [format]           什么输出完成后
-x/–proxy            在给定的端口上使用HTTP代理
-X/–request            指定什么命令
-y/–speed-time            放弃限速所要的时间。默认为30
-Y/–speed-limit            停止传输速度的限制,速度时间秒
-z/–time-cond            传送时间设置