Linux【2】-管理文件-5-linux常用下载命令--Curl
Curl也是Linux下不错的命令行下载工具,小巧、高速,唯一的缺点是不支持多线程下载。
http://curl.haxx.se/download/curl-7.14.0.tar.gz
下载最新版本。下载后便可使用如下命令编译安装:
#tar zxvf curl-7.14.0.tar.gz
#cd curl-7.14.0/
#./configure
#make
#make test
#make install
Curl使用格式如下: #curl [选项][下载地址] Curl典型下载如下:
#curl -O http://10.1.27.10/~kennycx/tools/lumaqq_2004-linux_gtk2_x86_with_jre.tar.gz
使用Curl下载一个文件并保存到当前目录。此外,Curl虽然不支持多线程下载,但它可同时下载多个文件或下载文件的某一部分,可使用如下命令实现:
#curl -r 0-199 http://www.netscape.com/
获得文件的前200bytes。对于常用的代理下载Curl也可轻松实现,具体操作如下:
#curl -x 10.1.27.10:1022 ftp://ftp.funet.fi/README
使用代理地址为10.1.27.10端口为1022的代理服务器下载一个文件。
#curl -U user:passwd -x 10.1.27.10:1022 ftp://ftp.funet.fi/README
如果代理服务器需要特别的验证,则需要在user:passwd处输入合法的帐号和密码。
5.2 wget与curl的区别
- wget是个专职的下载利器,简单,专一,极致;而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。
- 在下载上,也各有所长,wget可以递归,支持断点;而curl支持URL中加入变量,因此可以批量下载。
- 个人用途上,我经常用wget来下载文件,加 -c选项不怕断网;使用curl 来跟网站的API 交互,简便清晰。
5.3 curl的讨论
5.3.1. CURL设置超时时间
使用CURL时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间。 连接超时时间用–connect-timeout参数来指定,数据传输的最大允许时间用-m参数来指定。
curl --connect-timeout 10 -m 20 "http://XXXXXXX"
连接超时的话,出错提示形如:
curl: (28) connect() timed out!
数据传输的最大允许时间超时的话,出错提示形如:
curl: (28) Operation timed out after 2000 milliseconds with 0 bytes received
断点续传
Use “-C -” to tell curl to automatically find out where/how to resume the transfer. It then uses the given output/input files to figure that out.
参考资料
- http://blog.csdn.net/tianxw1209/article/details/6343129
- http://www.itqun.net/content-detail/511328.html
- http://www.guanwei.org/post/LINUXnotes/05/Linux-Wget-download-method.html
- http://www.guanwei.org/post/LINUXnotes/05/Linux-Wget-download-method.html
- http://www.zhihu.com/question/19598302
- http://www.cnblogs.com/inteliot/archive/2012/06/01/2530843.html
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn