1. wget命令
定义:wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
语法: wget (选项) (参数)
选项:
-a<日志文件>:在指定的日志文件中记录资料的执行过程;
-A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;
-b:进行后台的方式运行wget;
-B<连接地址>:设置参考的连接地址的基地地址;
-c:继续执行上次终端的任务;
-C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;
-d:调试模式运行指令;
-D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;
-e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;
-h:显示指令帮助信息;
-i<文件>:从指定文件获取要下载的URL地址;
-l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;
-L:仅顺着关联的连接;
-r:递归下载方式;
-nc:文件存在时,下载文件不覆盖原有文件;
-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;
-q:不显示指令执行过程;
-nh:不查询主机名称;
-v:显示详细执行过程;
-V:显示版本信息;
--passive-ftp:使用被动模式PASV连接FTP服务器;
--follow-ftp:从HTML文件中下载FTP连接文件。
示例:
wget http://test.com/download -O wordpress.zip ->指定保存名字
# FTP下载
wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url
2. wget下载https报错解决
问题:wget下载https的url报错?
解决办法:
wget后面加上--no-check-certificate,就可以正常下载,wget --no-check-certificate https://我们下载文件路径
# wget --no-check-certificate https://182.138.104.100:3922/mp_mcss/vcn-image.do?fileUuid=5a9dd266b83e4921b4461124632b3d1b%23919774075979%2399158684430623200004%23340016a6ec624fc48ac87a4adf83761b -O 1.jpg
3. wget转义URL报错解决
问题:wget下载http的带转义字符的url报错?
解决办法:
1) 加双引号wget "$url"
2) 加单引号wget "$url"
3) 可以将复杂的url转为短url
4) & 要加反斜杠\&进行转义,因为&后面的参数在 get 的时候丢弃了
结论: wget下载url,建议用引号括起来下载。