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. [Windows Server]Windows Server turn off screen auto-lock to fit scheduled tasks(Error Code :0x4F7) / 关闭Windows Server的自动锁定来解决计划任务0x4F7错误

    1. 打开“运行”,输入“regedit” 并回车. 2. 找到以下注册表路径,将Attributes的值改为 2: (原为1 HKEY_LOCAL_MACHINE \SYSTEM \CurrentC ...

  2. BZOJ2127Happiness

    题目描述 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文 ...

  3. kubernetes之flannel

    kubernetes网络通信 容器间的通信   pod内的容器通信(lo) Pod之间的通信   pod IP <-----> pod IP Pod与Service之间的通信 podIP ...

  4. 浅析HTTP代理原理--转

    代理服务器是HTTP协议中一个重要的组件,发挥着重要的作用. 关于HTTP代理的文章有很多,本文不再赘述,如果不清楚的可以看一下 HTTP代理的基础知识. 本文主要介绍代理的事例,分析一个真实的案例来 ...

  5. 财务平台亿级数据量毫秒级查询优化之elasticsearch原理解析

    财务平台进行分录分表以后,随着数据量的日渐递增,业务人员对账务数据的实时分析响应时间越来越长,体验性慢慢下降,之前我们基于mysql的性能优化做了一遍,可以说基于mysql该做的优化已经基本上都做了, ...

  6. 【转载】VS写汇编程序01:VS2015配置汇编语言开发环境

    https://blog.csdn.net/qq_28249373/article/details/83475107

  7. java 导出

    按钮 <a href="###" class="eui-btn eui-btn-small" onclick="Export()"&g ...

  8. vue项目中遇到的那些事。

    前言 有好几天没更新文章了.这段实际忙着做了一个vue的项目,从 19 天前开始,到今天刚好 20 天,独立完成. 做vue项目做这个项目一方面能为工作做一些准备,一方面也精进一下技术. 技术栈:vu ...

  9. eclipse快速查看工程代码行数

    1.点击要统计的项目或许文件夹,在菜单栏点击Search,然后点击File... 2.选中正则表达式(Regular expression),并在搜索文本框输入\n ;3.在文件名中输入*或*.jav ...

  10. 移动端底部fixed固定定位输入框ios下不兼容

    简短记录下最近开发移动端项目碰到的小坑,产品需求做一个售后对话页面,底部固定输入框,和微信对话差不多,但是在ios下,fixed失效,输入框被虚拟键盘挡住,在安卓下是正常的. 尝试过网上说的很多方法, ...