wget是GNU/Linux下的一个非交互式(non-interactive)网络下载工具,支持HTTP、HTTPS与FTP协议,并能够指定HTTP代理服务器。虽然wget命令与curl命令相比支持的协议并不多,且只能下载不能上传,其自身还是有一些很出色的特性的。例如,

  • 与很多下载工具不同,wget的下载任务可以在用户登出、断开连接的情况下在后台继续运行。当用户是远程登录到主机操作且有大量资源需要下载时,这个特性非常实用。

  • wget能够将网站服务器上的HTML、XHTML、CSS等文件全部下载下来,并在本地创建与服务器同样的目录结构,以及将下载网页中的链接转换为本地链接。这样一来,就可以实现网站页面的本地浏览。所以,用wget下载线上的软件文档非常方便。

  • wget支持断点续传,因而适用于网速较慢和连接不稳定的环境。

wget命令的控制参数比较多,下面对其中较为常用的部分予以介绍。

  • -c:执行断点续传。

  • -i file_name:可以将所有需要下载的链接都放入文件file_name中,然后wget则可以批量执行下载任务。

  • -r:执行递归下载。

  • -l recursion_level:指定递归下载的目录深度。-l 0则为不限制深度。

  • -np:递归下载时不要上升到父目录,即只限定在指定的网站目录内下载。

  • -H:递归下载时如果页面依赖外部网站资源,使该选项则可以对其下载。

  • -t retry_times:指定当连接中断时重新尝试连接的次数。-t 0则为无限次尝试重连。

  • -N:保留下载文件的时间戳。

  • -p:令wget下载HTML页面需要加载的所有相关文件,包括图片、声音、样式单等。

  • -k:令wget在下载任务结束后,将文件中的链接转为本地链接,从而适于本地页面浏览。

  • --proxy-user--proxy-password:指定代理服务器的用户名与密码。代理服务器的地址则可以在环境变量http_proxyftp_proxy中设定。

  • --no-remove-listing:在从FTP下载文件的过程中不移除包含远端服务器目录与文件列表信息的.listing临时文件。该文件可用于核验是否完成了对所有文件的下载。

  • -m:该选项适用于完整地镜像一个站点。其等价于-r -N -l inf --no-remove-listing,即含义为:无限深度递归下载,保留源文件的时间戳,并保留.listing文件。

将上述参数进行有机组合,则可以实现我们期望的任何下载任务了。例如,使用如下命令下载整个网站用于本地浏览。

 $ wget -c -r -l 0 -t 0 -p -np -k -H https://plus.maths.org/content/

本文对wget命令的介绍就到这里。感兴趣的朋友可以在自己的GNU/Linux系统上尝试一下。Windows用户亦可以在Cygwin下运行wget。

使用wget命令下载网络资源的更多相关文章

  1. Linux wget 命令下载文件

    wget是Linux系统中用来下载文件的工具,其功能还是比较多的,能够下载单个文件,也可以分段下载,下面小编将针对wget命令的用法给大家做个实例介绍. 实例1 :下载单个文件 # wget http ...

  2. 用wget命令下载jdk

    Oracle官网上下载jdk,需要点击accept licence的才能下载,使用下面的命令,直接可以下载.wget --no-check-certificate --no-cookies --hea ...

  3. wget命令下载文件

    wget -r -N -l  -k http://192.168.99.81:8000/solrhome/ 命令格式: wget [参数列表] [目标软件.网页的网址] -V,–version 显示软 ...

  4. wget命令下载FTP整个目录进行文件备份

    使用wget下载整个FTP目录,可以用于服务器间文件传输,进行远程备份.通过限制网速,可以解决带宽限制问题. #wget ftp://IP:PORT/* --ftp-user=xxx --ftp-pa ...

  5. Ubuntu 使用wget 命令下载JDK

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...

  6. 使用wget命令下载JDK失败(文件特别小)

    问题RT: 我们在网页上下载的时候要点一下 “Accept License Agreement ” ,使用wget下载的时候也需要提交这个 accept,方法如下: wget --no-check-c ...

  7. Wget命令下载、备份博客

    -np http://www.cnblogs.com/memory4young/p/ 参考资料: http://www.cnblogs.com/memory4young/p/wget-backup-b ...

  8. linux wget指定下载目录和重命名

    当我们在使用wget命令下载文件时,通常会需要将文件下载到指定的目录,这时就可以使用 -P 参数来指定目录,如果指定的目录不存在,则会自动创建. 示例: p.p1 { margin: 0; font: ...

  9. wget命令8种实用用法

    大家好,我是良许. wget 是一个可以从网络上下载文件的免费实用程序,它的工作原理是从 Internet 上获取数据,并将其保存到本地文件中或显示在你的终端上. 这实际上也是大家所使用的浏览器所做的 ...

随机推荐

  1. Hackers' Crackdown UVA - 11825 (状压dp)

    给出n个电脑,每个电脑连着n个服务,然后每个电脑都连着m个邻电脑,如果当前的电脑某个服务被断开了,相邻的电脑的服务也会被断开,每个电脑都只能操作一次,问你最多可以让多少种服务被断开.一种服务被断开的条 ...

  2. MySQL逻辑备份into outfile

    MySQL 备份之 into outfile 逻辑数据导出(备份) 用法: select xxx into outfile '/path/file' from table_name; mysql> ...

  3. CF5E 【Bindian Signalizing】

    题意 \(n\)座山组成一个环,相连的圆弧上其他山它们高那么这两座山能互相看到,求能看到的山的组数. 题解 设\(left[i]\)表示左边第一个比\(i\)高的位置,同理\(right[i]\)表示 ...

  4. 20175221 《Java程序设计》第8周学习总结

    20175221   <Java程序设计>第8周学习总结 教材学习内容总结 第十五章主要内容有:泛型.链表.堆栈.散列映射.树集以及树映射. 泛型: 声明:可以使用class名称<泛 ...

  5. C++11 std::move和std::forward

    下文先从C++11引入的几个规则,如引用折叠.右值引用的特殊类型推断规则.static_cast的扩展功能说起,然后通过例子解析std::move和std::forward的推导解析过程,说明std: ...

  6. vue-cli 项目踩坑 npm install 时出错

    1.报错如下: 2.此时你执行npm run dev  / npm run build 会报错如下 npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! v ...

  7. 异常值处理outlier

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  8. Redis 使用介绍-Linux-Bash

    1.进入Bash redis-cli 2.查看所有的key keys * 1.Key-Value 1.1.查看key-value值 1.2.修改key值 2.List 1> string lis ...

  9. 安装部署 Goaccess

    CentOS 7安装 Goaccess 安装依赖 # yum install ncurses-devel geoip-devel libmaxminddb-devel tokyocabinet-dev ...

  10. PMP知识点(三)——挣值计算汇总表

    在新标签页打开. 附参考图 资料地址:http://pan.baidu.com/s/1bMNroq