当前位置:网站首页>如何使用 wget 和 curl 下载文件
如何使用 wget 和 curl 下载文件
2022-07-04 16:32:00 【华为云】
通常使用 wget 来下载文件。在某些系统上,没有安装 wget,只有 curl 可用。能用一个简单的例子来解释我如何使用 curl 下载远程文件吗?curl和wget之间有什么区别吗?
在高层次上,wget 和 curl 都是执行相同操作的命令行实用程序。
- 它们都可用于使用 FTP 和 HTTP(s) 下载文件。
- 您还可以使用 curl 和 wget 发送 HTTP POST 请求
- 但是 curl 提供了可供程序员在自己的代码中使用的 API。curl 使用 libcurl,它是一个跨平台库。
- wget 只是一个没有任何 API 的命令行工具。
- Curl 还支持更多 wget 不支持的协议。例如:SCP、SFTP、TFTP、TELNET、LDAP(S)、文件、POP3、IMAP、SMTP、RTMP 和 RTSP。
- 使用 wget 有一个主要优点。wget 支持递归下载,而 curl 不支持。
wget 示例
以下示例下载文件并以与远程服务器相同的名称存储。
wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
以下示例下载文件并以与远程服务器不同的名称存储。当远程 URL 不包含 url 中的文件名时,这很有用,如下例所示。
wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
卷曲示例
$ curl -O http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 28 3762k 28 1085k 0 0 72771 0 0:00:52 0:00:15 0:00:37 54267
选项 -O(大写 O)很重要。没有这个,curl 将开始将下载的文件转储到标准输出上。使用 -O,它会下载与远程服务器同名的文件。在上面的例子中,我们正在下载 strx25-0.9.2.1.tar.bz2,所以下载的文件也将是同名的。
除了 -O,您还可以指定“--remote-name”,如下所示。两者都是一样的。
$ curl --remote-name http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
在 curl 下载时,它会提供以下有用信息:
- % – 截至目前已完成下载的总百分比。当它达到 100% 时,下载完成。在上面的例子中,它只下载了 28% 的文件。
- Total – 文件的总大小
- Received - 到目前为止已下载的文件的总大小。在上面的例子中,到目前为止它已经下载了 1085k(总共 3762k)
- Xferd – 这将在您将一些文件上传到远程服务器时使用。在上传期间,这将指示到目前为止已上传的文件的总大小。因为我们正在下载一个文件,在这个例子中,这是 0。
- Average Speed Dload – 这表示平均下载速度。
- AVerage Speed Upload – 上传文件时,这将指示平均上传速度
- Time Total – 这表示根据当前下载(或上传)速度下载(或上传)整个文件所需的总时间。在此示例中,下载此文件总共需要大约 52 秒。
- Time Spend – curl 到目前为止下载(或上传)文件所花费的时间。在这个例子中,到目前为止它已经花费了 15 秒。
- Time Left –这是根据“总时间”——“所用时间”计算得出的。
- Current Speed – - 这表示当前的下载/上传速度。将此与平均加速 Dload/UPload 进行比较,以查看您的系统当前下载的速度有多快或多慢。
如果要下载文件并将其存储在与远程服务器中文件名不同的名称中,请使用 -o(小写 o),如下所示。当远程 URL 不包含 url 中的文件名时,这很有用,如下例所示。
$ curl -o taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 50243 100 50243 0 0 170k 0 --:--:-- --:--:-- --:--:-- 400k
在上面的例子中,远程 URL 中没有文件名,它只是调用了一个 php 脚本,将一些参数传递给它。但是,该文件将被下载并保存为本地系统上的 taglist.zip。代替 -o,您还可以指定“–output”。
边栏推荐
猜你喜欢
[HCIA continuous update] WLAN overview and basic concepts
DB-Engines 2022年7月数据库排行榜:Microsoft SQL Server 大涨,Oracle 大跌
I always thought that excel and PPT could only be used for making statements until I saw this set of templates (attached)
Cann operator: using iterators to efficiently realize tensor data cutting and blocking processing
使用3DMAX制作一枚手雷
【Hot100】32. Longest valid bracket
Is it science or metaphysics to rename a listed company?
比李嘉诚还有钱的币圈大佬,刚在沙特买了楼
Wuzhicms code audit
Unity 制作旋转门 推拉门 柜门 抽屉 点击自动开门效果 开关门自动播放音效 (附带编辑器扩展代码)
随机推荐
Recast of recastnavigation
【HCIA持续更新】广域网技术
要上市的威马,依然给不了百度信心
国产数据库TiDB初体验:简单易用,快速上手
Tutorial on the use of Huawei cloud modelarts (with detailed illustrations)
ISO27001 certification process and 2022 subsidy policy summary
Superscalar processor design yaoyongbin Chapter 7 register rename excerpt
[daily question] 556 Next bigger element III
[cloud native] what is the "grid" of service grid?
2022年全国CMMI认证补贴政策|昌旭咨询
你应该懂些CI/CD
我写了一份初学者的学习实践教程!
Is BigDecimal safe to calculate the amount? Look at these five pits~~
【系统分析师之路】第七章 复盘系统设计(结构化开发方法)
网上开户安全吗?是真的吗?
Blue bridge: sympodial plant
Pytorch深度学习之环境搭建
Stars open stores, return, return, return
庆贺!科蓝SUNDB与中创软件完成七大产品的兼容性适配
The block:usdd has strong growth momentum