Linux操作系统下有三宝:WGET、cURL、Aria2,他们统统都是用来下载文件的神器。今天我们就来讲解这三宝中的第二宝: cURL 。
cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。今天我们讲解的重点,就是围绕它的下载功能开始的。
前提条件:
服务器系统:CentOS6+/Debian7+/Ubuntu12+
1、防止系统过于精简,先更新系统软件源 :
1 2 3 4 5 |
yum update -y # CentOS系统 用这个 apt-get update -y # Debian/Ubuntu系统 用这个 |
2、安装cURL工具
1 2 3 4 5 |
yum install -y curl # CentOS系统 用这个 apt-get install -y curl # Debian/Ubuntu系统 用这个 |
cURL安装结束,开始今天的教程:
用法1:测试一台服务器是否可以到达一个网站
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#使用方法:curl 目标地址 curl https://soft.mengclaw.com #实例:测试打开soft.mengclaw.com页面 执行结果: <html> <head><title>Index of /</title></head> <body bgcolor="white"> <h1>Index of /</h1><hr><pre><a href="../">../</a> <a href="Application/">Application/</a> 16-Sep-2018 16:03 <a href="Bash/">Bash/</a> 16-Sep-2018 16:03 <a href="Kernel/">Kernel/</a> 16-Sep-2018 16:03 <a href="TemporaryFiles/">TemporaryFiles/</a> 16-Sep-2018 16:0 <a href="TestFile/">TestFile/</a> 16-Sep-2018 16:51 <a href="robots.txt">robots.txt</a> 27-May-2018 23:58 </pre><hr></body> </html> |
用法2:将打开的网页保存成文件
2.1、利用重定向符号 >> 输出文件
1 2 3 4 5 6 7 8 9 |
#使用方法:curl 目标地址 >> 目标文件 curl https://soft.mengclaw.com >> soft.html #实例:将soft.mengclaw.com页面保存为soft.html 执行结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 839 0 839 0 0 414 0 --:--:-- 0:00:02 --:--:-- 414 |
2.2、使用参数 -o (小写o,意为输出并重命名)输出到文件
1 2 3 4 5 6 7 8 9 |
#使用方法:curl -o 目标文件名 目标地址 curl -o soft.html https://soft.mengclaw.com #实例:将soft.mengclaw.com页面保存为soft.html 执行结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 839 0 839 0 0 851 0 --:--:-- --:--:-- --:--:-- 851 |
用法3:下载一个文件
3.1、使用参数 -O(大写O,意为使用远程文件名输出),下载一个文件
1 2 3 4 5 6 7 8 9 |
#使用方法:curl -O 目标地址 curl -O https://soft.mengclaw.com/TestFile/5MB.Test #实例:下载5MB.Test文件 执行结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4882k 100 4882k 0 0 310k 0 0:00:15 0:00:15 --:--:-- 332k |
3.2、使用参数 -o (小写o,意为输出并重命名),不光可以保存网页,也可以将下载的文件重命名保存
1 2 3 4 5 6 7 8 9 |
#使用方法:curl -o 目标地址 curl -o Hello https://soft.mengclaw.com/TestFile/5MB.Test #下载5MB.Test文件,并重命名为Hello 执行结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4882k 100 4882k 0 0 1367k 0 0:00:03 0:00:03 --:--:-- 1368k |
3.3、下载一个文件,并且显示下载进度条
1 2 3 4 5 6 7 |
#使用方法:curl -# -O 目标地址 curl -# -O https://soft.mengclaw.com/TestFile/5MB.Test #实例:下载5MB.Test文件,并用#号表示下载进度 执行结果: ######################################################################## 100.0% |
3.4、断点续传
如果文件下载中掉线,或者网络不稳定导致下载中断,可以使用断点续传功能,继续下载上次没有下完的文件。
注意:使用-C参数时,默认需要指定断点的字节位置。如果想用自动续传的方式,需要使用“ -C – ”命令
1 2 3 4 5 6 7 8 9 10 |
#使用方法:curl -C - -O 目标地址 curl -C - -O https://soft.mengclaw.com/TestFile/10MB.Test #实例:断点续传10MB.Test 执行结果: ** Resuming transfer from byte position 5484544 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4409k 100 4409k 0 0 953k 0 0:00:04 0:00:04 --:--:-- 1079k |
3.5、下载一个文件,并且限制下载时的速度
使用场景:当你执行cURL的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。
1 2 3 4 5 6 7 8 9 |
#使用方法:curl --limit-rate 限定速度 -O 目标地址 curl --limit-rate 128K -O https://soft.mengclaw.com/TestFile/5MB.Test #实例:下载文件,并且限制下载速度为128KB/s 执行结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4882k 100 4882k 0 0 128k 0 0:00:38 0:00:38 --:--:-- 128k |
用法4:使用代理服务器下载文件
由于网络状况不佳下载时速度缓慢,或者频繁下载失败。这时候则需要使用代理服务器。
1 2 3 4 5 6 7 8 9 |
使用方法:curl -x ip:端口 -O 目标地址 curl -x 192.168.1.100:1080 -O https://soft.mengclaw.com/TestFile/5MB.Test #实例:下载文件,并使用代理服务器 执行结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 4882k 100 4882k 0 0 1766k 0 0:00:02 0:00:02 --:--:-- 1766k |
入门教程到这里就要结束了,本文中,举例介绍了cURL的几种常见使用方法,覆盖了日常使用的多个方面。如有更多问题,欢迎在下方留言。
本文原创,允许转载。转载请注明出处,谢谢!本文链接:
https://www.mengclaw.com/2019/06/15/252/
版权所有©2019萌爪实验室
诈尸(小声bb)