wget命令详解,断点续传

news/2024/7/5 20:29:39 标签: python

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

(1)支持断点下传功能

(2)同时支持FTP和HTTP下载方式

(3)支持代理服务器

(4)设置方便简单

(5)程序小,完全免费


wget虽然功能强大,但是使用起来还是比较简单的,基本的语法是:wget [参数列表] URL。下面就结合具体的例子来说明一下wget的用法。

1、下载整个http或者ftp站点。

wget http://place.your.url/here

这个命令可以将http://place.your.url/here 首页下载下来。使用-x会强制建立服务器上一模一样的目录,如果使用-nd参数,那么服务器上下载的所有内容都会加到本地当前目录。

wget -r http://place.your.url/here

这个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址 同样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下来!基于这个原因,这个参数不常用。可以用-l number参数来指定下载的层次。例如只下载两层,那么使用-l 2。

要是您想制作镜像站点,那么可以使用-m参数,例如:wget -m http://place.your.url/here

这时wget会自动判断合适的参数来制作镜像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。


2、断点续传。

当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如:

wget -c http://the.url.of/incomplete/file

使用断点续传要求服务器支持断点续传。-t参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。-T参数表示超时等待时间,例如-T 120,表示等待120秒连接不上就算超时。


3、批量下载。

如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,然后用命令:wget -i download.txt

这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)


4、选择性的下载。

可以指定让wget只下载一类文件,或者不下载什么文件。例如:

wget -m –reject=gif http://target.web.site/subdirectory

表示下载http://target.web.site/subdirectory,但是忽略gif文件。–accept=LIST 可以接受的文件类型,–reject=LIST拒绝接受的文件类型。


5、密码和认证。

wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:

–http-user=USER设置HTTP用户

–http-passwd=PASS设置HTTP密码

对于需要证书做认证的网站,就只能利用其他下载工具了,例如curl。


6、利用代理服务器进行下载。

如果用户的网络需要经过代理服务器,那么可以让wget通过代理服务器进行文件的下载。此时需要在当前用户的目录下创建一个.wgetrc文件。文件中可以设置代理服务器:

http-proxy = 111.111.111.111:8080

ftp-proxy = 111.111.111.111:8080

分别表示http的代理服务器和ftp的代理服务器。如果代理服务器需要密码则使用:

–proxy-user=USER设置代理用户

–proxy-passwd=PASS设置代理密码

这两个参数。

使用参数–proxy=on/off 使用或者关闭代理。


转载于:https://my.oschina.net/wmsjhappy/blog/272575


http://www.niftyadmin.cn/n/1130452.html

相关文章

Android中的内部类引起的内存泄露

引子 什么是内部类?什么是内存泄露?为什么Android的内部类容易引起内存泄露?如何解决? 什么是内部类? 什么是内部类?什么又是外部类、匿名类、局部类、顶层类、嵌套类?大家可以参考我这篇文章 &…

numpy练习(二)

numpy练习(二) 对于二维随机数组中各元素,保留其 2 位小数 z np.random.random((5,5)) print(z) np.set_printoptions(precision2) z使用科学记数法输出 NumPy 数组 z np.random.random([5,5]) print(z) z/1e3使用 NumPy 找出百分位数&a…

一个ASP.NET2.0的小项目-BLOG

一个小程序,基于ASP.NET2.0的,大家可以下载后看看,供新手学习用。程序是一个最简单的多人BLOG系统,由于是公司内网用的,需要windows验证也和以前的一些表有牵连,大家可能调试不会调试通。里面有一个SQL文件…

理解jQuery对象$.html

前面的话 如果要比喻jQuery和原生javascript的关系,我个人认为是自动档和手动档汽车的区别。使用原生javascript,可以知道离合器以及档位的作用;而使用jQuery,则把离合器和手动档位封装到函数,直接前进、后退或驻车即可…

项目任务管理系统

https://www.activecollab.com/http://www.zentao.net/https://tower.im/https://www.teambition.com/转载于:https://www.cnblogs.com/dmdj/p/3769566.html

http/1.1 500 server error错误的解决方法

http/1.1 500 server error错误的解决方法 www.chinacs.net 2006-03-25 中文c#技术站 最近web服务器报http/1.1 500 server error错误,在网上查,得到如下解决办法:regsvr32 %windir%/system32/jscript.dll 具体造成原因在查明,初…

数据挖掘基本流程

数据挖掘基本流程 数据挖掘基本流程: 商业理解:从商业的角度理解项目需求,通过数据挖掘来帮助业务。数据理解:尝试手机部分数据,对其进行探索,从而对数据有个初步认知。数据准备:收集数据并对…

svn删除所有.svn文件

svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \;转载于:https://www.cnblogs.com/dirt2/p/5796461.html