这两个curl
和wget
都用于下载文件等。是否有任何理由要使用另一个?
这两个curl
和wget
都用于下载文件等。是否有任何理由要使用另一个?
Answers:
定义“正确使用”后,请使用wget
。
为什么?这就是为什么:
递归!与curl相比,wget的主要优势在于它具有递归下载功能,甚至可以下载从远程资源引用的所有内容,无论是HTML页面还是FTP目录列表。
无耻从这里复制
curl
图书馆。curl
由libcurl
–一个具有稳定API的跨平台库提供,每个人都可以使用。这种差异很重要,因为它在内部做事方式上产生了完全不同的态度。创建一个库也比“仅仅”命令行工具要难一些。
管道。curl
它的工作方式更像传统的Unix cat
命令,它将更多的内容发送到stdout
,并stdin
以“万事俱备”的方式读取更多内容。wget
更像是cp
使用相同的类似物。
单发。curl
基本上是用于单次传输数据。它仅传输用户指定的URL,不包含任何递归下载逻辑或任何类型的HTML解析器。
更多协议。curl
支持FTP,FTPS,Gopher,HTTP,HTTPS,SCP,SFTP,TFTP,TELNET,DICT,LDAP,LDAPS,FILE,POP3,IMAP,SMB / CIFS,SMTP,RTMP和RTSP。Wget仅支持HTTP,HTTPS和FTP。
更便携。curl
可以在比Windows更多的平台上构建和运行wget
。例如:OS / 400,TPF和其他非“直接” Unix克隆的“异国情调”平台。
更多SSL库和SSL支持。curl
可以使用十一(11!)个不同的SSL / TLS库中的一个建立,并且它提供了更多控制权,并且对协议详细信息提供了更广泛的支持。curl
支持公钥固定。
HTTP身份验证。curl
支持更多的HTTP身份验证方法,尤其是通过HTTP代理:Basic,Digest,NTLM和Negotiate
袜子。curl
支持几种SOCKS协议版本的代理访问
双向的。curl
提供上传和发送功能。wget
仅提供纯HTTP POST支持。
HTTP多部分/表单数据发送,它允许用户执行HTTP“上载”并通常模拟浏览器并更广泛地执行HTTP自动化
curl
支持gzip
并扩大Content-Encoding并自动解压缩
curl
提供并执行对传输编码的HTTP的解压缩,而wget则不
curl
支持HTTP / 2,并且使用Happy Eyeballs进行双堆栈连接
开发人员的活动更多。尽管可以对此进行辩论,但我在这里考虑了三个指标:邮件列表活动,源代码提交频率和发布频率。遵循这两个项目的任何人都可以看到curl项目在所有这些方面的步伐要高得多,而且已经超过10年了。在openhub上比较
wget
wget
仅命令行。没有图书馆。
递归!wget
与curl相比,它的主要优势是它具有递归下载功能,甚至可以下载从远程资源引用的所有内容,无论是HTML页面还是FTP目录列表。
比较老。wget
可以追溯到1995年,而curl
可以追溯到1996年底。
GPL。wget
是100%GPL v3。curl是MIT许可的产品。
GNU。wget
是GNU项目的一部分,所有版权均已分配给FSF。curl项目完全是独立的,并且是独立的,完全没有组织为生,而Daniel几乎拥有所有版权。
wget
不需要额外的选项即可简单地将远程URL下载到本地文件,而curl
需要-o
或-O
。
wget
支持用于处理cookie域的公共后缀列表,curl不支持。
wget
仅支持GnuTLS或OpenSSL以支持SSL / TLS
wget
仅支持基本身份验证作为通过HTTP代理的唯一身份验证类型
wget
没有SOCKS支持
它从过早中断的传输中恢复并继续下载的能力无与伦比。
wget
只能使用qwerty键盘的左手输入!
curl -C -
继续中断下载吗?
wget can be typed in using only the left hand on a qwerty keyboard!
,WTF ??wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
有许多可以下载喜欢的工具curl
,snarf
,wget
,pavuk
,fget
,fetch
,lftp
,aria2
,HTTrack
等用它按照您的要求和功能要与下载使用一起。检查功能表 并相应地使用。
卷曲度:
Wget:
有关更多信息的重要资源:
这是curl vs Wget的一个很好的解释。
卷曲支持功能的详细信息:功能-卷曲可以做什么
wget支持的功能的详细信息:wget功能