curl 和 wget 有什么区别?

sno*_*oop 38 downloads wget curl

这两个curlwget是用于下载文件等是否有任何理由使用一个比其他?

A.B*_*.B. 33

在定义“正确使用”之后,使用wget.

为什么?这就是为什么:

递归!与 curl 相比,wget 的主要优势在于它能够递归下载,甚至可以下载从远程资源引用的所有内容,无论是 HTML 页面还是 FTP 目录列表。


无耻从这里复制的

curl

  • 图书馆curllibcurl– 一个具有稳定 API 的跨平台库提供支持,每个人都可以使用。这种差异很重要,因为它对如何在内部做事产生了完全不同的态度。制作一个库也比“纯粹的”命令行工具稍微难一些。

  • 管道curl它的工作方式更像传统的 Unixcat命令,它以“一切都是管道”的方式向 发送更多内容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构建和运行在比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年底。

  • 通用公共许可证wget是 100% GPL v3。curl 是 MIT 许可的。

  • GNUwget是 GNU 项目的一部分,所有版权都分配给 FSF。curl 项目是完全独立的,完全没有组织养育,几乎所有版权归丹尼尔所有。

  • wget不需要额外的选项来简单地将远程 URL 下载到本地文件,而curlrequires-o-O.

  • wget 支持用于处理 cookie 域的公共后缀列表,curl 不支持。

  • wget 仅支持 GnuTLS 或 OpenSSL 以提供 SSL/TLS 支持

  • wget 仅支持基本身份验证作为唯一的 HTTP 代理身份验证类型

  • wget 没有袜子支持

  • 它能够从过早中断的传输中恢复并继续下载,这在 curl 中是无与伦比的。

  • wget 只能用左手在 qwerty 键盘上输入!

  • 是的,wget 非常适合镜像! (2认同)
  • 为什么推荐*wget*?即使在查看了您自己编写的比较之后,*curl* 听起来也要优越得多。*`wget 只能用左手在 qwerty 键盘上输入!`*,*`wget 不需要额外的选项即可将远程 URL 简单地下载到本地文件,而curl 需要 -o 或 -O。`* * *什么鬼??** (2认同)
  • 大小也很重要:在新的 ubuntu 映像上,wget 大小为 2M,而 curl 为 5M(带 deps,x3 总未打包) (2认同)

pl_*_*ock 19

有许多可以下载喜欢的工具curlsnarfwgetpavukfgetfetchlftparia2HTTrack等用它按照您的要求和功能要与下载使用一起。检查功能表 并相应地使用。

卷曲:

  • Curl 支持更多协议 FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP、RTMP 和 RTSP
  • curl 支持更多 SSL 库
  • Curl 支持更多 HTTP 身份验证方法,尤其是通过 HTTP 代理:Basic、Digest、NTLM 和 Negotiate
  • Curl 由 libcurl 提供支持 - 一个具有稳定 API 的跨平台库,可供所有人使用

获取:

  • wget 支持 HTTP、HTTPS 和 FTP
  • Wget 仅支持 GnuTLS 或 OpenSSL 以支持 SSL/TLS
  • Wget 仅支持基本身份验证作为唯一的 HTTP 代理身份验证类型
  • Wget 只是命令行工具,它没有库。

获取更多信息的重要资源: