1.可以使用wget用于文件下载,选项多用
首先,示例
wget URL
直接执行如下
wget www.baidu.com
–2020-07-27 10:15:36– http://www.baidu.com/ Resolving www.baidu.com (www.baidu.com)… 220.181.38.150, 220.181.38.149, 240e:83:205:59:0:ff:b09b:159e, … Connecting to www.baidu.com (www.baidu.com)|220.181.38.150|:80… connected. HTTP request sent, awaiting response… 200 OK Length: 2381 (2.3K) [text/html] Saving to: ‘index.html’ 100%[==============================================================================================================================================================================================================>] 2,381 –.-K/s in 0.001s 2020-07-27 10:15:36 (2.70 MB/s) – ‘index.html’ saved [2381/2381] |
也可以根据URL用wget来下载文件
wget ftp://example_domain.com/somefile.img
下载的文件和URL中文件名保持一致,下载信息和进度写入stdout
如果需要指定进度输出的名字,可以使用选项-o,会覆盖同名文件
其实就是将进度输出的结果进行了重定向到这个文件
也可以 wget -o xxx.xxx.com > file
由于使用了简单的get,可能存在超时或者中断的问题
所以,为了避免这个问题,我们可以加上一个重试的次数,如果出现了错误,可以进行多次的重试
使用 -t 来指定重试的次数
wget -t 5 URL
其他的选项诸如
设置限速
wget –limit-rate 来进行限速,单位有k m
wget –limit-rate 20k
还可以指定最大的下载配额,就是只会下载多少的数据
-Q 或者 –quota
wget -Q 100m URL
断线续传
如果是wget进行的下载在完成前被中断了,可以使用-c的选项从端点开始继续下载
2.使用cURL
cURL的使用方式如下
curl http://slynux.org > index.html
curl和wget不同,其会把文件的数据直接以标准输出的形式输出,所以可以利用重定向的方式进行输出重定向
3.我们可以直接获取整个网站的内容,还能有一种方式再次基础上进行增强,就是将获取到的所有连接再一次进行下载,从而保证获取到这个网站的所有数据
使用–mirror即可做到
wget –mirror www.baidu.com
wget -r -N -l DEPTH URL
-l 指定页面层级DEPTH ,后面跟深度数量 -r recursive 递归选项配合使用 -N表示文件的使用时间戳
URL表示地址
如果需要提供账号和密码,可以使用参数
–uset –password的认证想你想
wget –user username –password pass URL
如果交给页面提示并输入密码
–password 改为 –ask-password