curl 和 wget 的区别和使用

curl 和 wget 基础功能有诸多重叠,整理一下

Featured image

  非要说区别的话,curl 由于可自定义各种请求参数所以在模拟web请求方面更擅长;wget 由于支持 ftpRecursive 所以在下载文件方面更擅长。类比的话 curl 是浏览器,而 wget 是迅雷

1. 下载文件

>curl -O http://man.linuxde.net/text.iso        #O大写,不用O只是打印内容不会下载
>wget http://www.linuxde.net/text.iso           #不用参数,直接下载文件

2. 下载文件并重命名

>curl -o rename.iso http://www.linuxde.net/text.iso         #o小写
>wget -O rename.zip http://www.linuxde.net/text.iso         #O大写

3. 断点续传

>curl -O -C - http://man.linuxde.net/text.iso           #O大写,C大写
>wget -c http://www.linuxde.net/text.iso                #c小写

4. 限速下载

>curl --limit-rate 50k -O http://man.linuxde.net/text.iso
>wget --limit-rate=50k http://www.linuxde.net/text.iso

5. 显示响应头部信息

>curl -I http://man.linuxde.net/text.iso
>wget --server-response http://www.linuxde.net/test.iso

6. wget利器–打包下载网站

>wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/

  wget 是个专职的下载利器,简单,专一,极致;而 curl 可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页

  在下载上,也各有所长,wget 可以递归,支持断点;而curl支持URL中加入变量,因此可以批量下载

curl(文件传输工具)

-c,–cookie-jar:将cookie写入到文件

-b,–cookie:从文件中读取cookie

-C,–continue-at:断点续传

-d,–data:http post方式传送数据

-D,–dump-header:把header信息写入到文件

-F,–from:模拟http表达提交数据

-s,–slient:减少输出信息

-o,–output:将信息输出到文件

-O,–remote-name:按照服务器上的文件名,存在本地

–l,–head:仅返回头部信息

-u,–user[user:pass]:设置http认证用户和密码

-T,–upload-file:上传文件

-e,–referer:指定引用地址

-x,–proxy:指定代理服务器地址和端口

-w,–write-out:输出指定格式内容

–retry:重试次数

–connect-timeout:指定尝试连接的最大时间/s

wget(文件下载工具)

1、 启动参数

-V,–version:显示版本号

-h,–help:查看帮助

-b,–background:启动后转入后台执行

2、 日志记录和输入文件参数

-o,–output-file=file:把记录写到file文件中

-a,–append-output=file:把记录追加到file文件中

-i,–input-file=file:从file读取url来下载

3、 下载参数

-bind-address=address:指定本地使用地址

-t,-tries=number:设置最大尝试连接次数

-c,-continue:接着下载没有下载完的文件

-O,-output-document=file:将下载内容写入到file文件中

-spider:不下载文件

-T,-timeout=sec:设置响应超时时间

-w,-wait=sec:两次尝试之间间隔时间

–limit-rate=rate:限制下载速率

-progress=type:设置进度条

4、目录参数

-P,-directory-prefix=prefix:将文件保存到指定目录

5、 HTTP参数

-http-user=user:设置http用户名

-http-passwd=pass:设置http密码

-U,–user-agent=agent:伪装代理

-no-http-keep-alive:关闭http活动链接,变成永久链接

-cookies=off:不使用cookies

-load-cookies=file:在开始会话前从file文件加载cookies

-save-cookies=file:在会话结束将cookies保存到file文件

6、 FTP参数

-passive-ftp:默认值,使用被动模式

-active-ftp:使用主动模式

7、 递归下载排除参数

-A,–accept=list:分号分割被下载扩展名的列表

-R,–reject=list:分号分割不被下载扩展名的列表

-D,–domains=list:分号分割被下载域的列表

–exclude-domains=list:分号分割不被下载域的列表

参考