问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

wget和curl的区别

创作时间:
作者:
@小白创作中心

wget和curl的区别

引用
1
来源
1.
https://geek-docs.com/linux/linux-ask-answer/difference-between-wget-vs-curl.html

wget和curl的区别

wget和curl是在没有任何GUI或软件的情况下用于HTTP请求的命令,我们使用Linux中的终端提供相应的输出或消息。这些命令对于网页抓取、网页抓取、测试RESTful api等非常有用。

Curl

Curl是一个免费的开源命令行实用工具,它允许用户和开发人员在没有任何UI交互的情况下传输数据。广泛应用于路由器、手机等。

Protocols Supported: HTTP/HTTPS、FTP、SFTP、SCP、IMAP、LDAP/LDAPS、SMB/SMB、TELNET、POP3、GOPHER等。

Wget

wget或GNU wget是另一个开源的免费命令行工具,用于使用HTTP/HTTPS、FTP和FTPS传输文件。

功能:递归下载,带宽控制,恢复中断传输,后台下载,递归镜像文件和目录,等等。

安装 wget 和curl

输入如下命令安装wget:

sudo apt-get install wget

要安装curl,输入以下命令:

sudo apt-get install curl

示例:在下面的例子中,我们将通过curl和wget请求HTTP/HTTPS并下载一个网站页面。

使用curl命令保存一个网页。

curl https://geeksforgeeks.org -o geeks.html

输出:该文件被下载为geeks.html

使用wget命令保存一个网页。

wget https://practice.geeksforgeeks.org/jobs

输出

我们使用curl命令获得了来自wget和geeks.html的作业文件。

示例 2:在下面的示例中,我们将通过curl和wget学习FTP协议请求,并下载文件。

要从域名(比如GeeksforGeeks徽标)从wget下载文件,可以使用以下命令。

wget https://media.geeksforgeeks.org/wp-content/cdn-uploads/20210420155809/gfg-new-logo.png

输出信息如下:—

使用curl命令,我们可以指定名称,例如,logo,然后按如下方式下载:

Curl https://media.geeksforgeeks.org/wp-content/cdn-uploads/20210420155809/gfg-new-logo.png -o logo.png

输出如下:

Curl还支持上传文件到web。我们需要添加标志-T来指定上传。我们使用以下命令将文件上载到任何URL。

curl -T " geeks_logo.png " ftp://www.geeksforgeeks.org/upload/to/url/

示例 3:Recursive downloading

Wget工具支持递归下载,我们添加了递归标志。

wget --recursive https://practice.geeksforgeeks.org/jobs

此命令将所有相关资源下载到一个以网页URL命名的文件夹中。输出如下:

终端(下载进行中)

已下载的文件及文件夹

在robots.txt中添加的文件路径将被忽略。要关闭这个特性,添加-e标志,如下:

Wget -e robots=off https://practice.geeksforgeeks.org/jobs

下载的文档采用广度优先搜索的形式。但是可以通过使用-l标记并设置深度来重写它。默认最大深度为5。

Wget -l=1 --recursive --no-parent https://practice.geeksforgeeks.org/jobs

wget和curl的区别

wget
curl
Wget是一个简单的传输命令行实用程序。
Curl有更多的功能。libcurl库可以用作GUI库。
对不同协议的支持有限。
对协议有更多的支持。它支持双向HTTP。
递归下载支持。其他功能包括带宽控制、恢复中断传输、后台下载、递归镜像文件和目录等。
不支持递归下载。
Wget支持的协议:HTTP、HTTPS和FTP。
支持curl的协议:DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、Telnet和TFT。
wget更适用于Linux操作系统。
Curl可以在多个平台上使用。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号