如何在 Mac 和 Windows 上安装和使用 Wget

已发表: 2022-03-05

将内容从 Internet 下载到 Mac 或 Windows PC 的最简单方法之一是使用网络浏览器。 或者,如果您想更好地控制下载,请使用专用的下载管理器来获得一些额外的功能。

using Wget on Mac and Windows

使用它们,您必须获得一个基于 GUI 的应用程序,每次您希望在线下载文件时都需要启动该应用程序。 另外,它们通常需要良好的下载速度才能正常工作。

但是,如果您的连接速度很慢,或者您想在无人看管的情况下快速下载文件怎么办?

Wget 是这些(以及其他几个)问题的答案。 它基本上是一个计算机程序,能够通过 HTTP、HTTPS 和 FTP 协议从 Web 服务器检索文件,同时快速且易于使用。

让我们深入了解 Wget 以及如何在 Mac 或 Windows PC 上使用它通过 Internet 下载文件。

目录

什么是 Wget?

Wget,也称为 GNU Wget,是一个基于 CLI 的程序,用于从 Web 服务器检索内容。 它源自一个旧程序Geturl ,它转换为“从 URL 获取内容”(统一资源定位器),其中get (或 GET)是一种用于从网站获取信息的 HTTP 方法。

Wget 支持通过 HTTP、HTTPS 和 FTP 协议下载,并提供递归下载、通过代理下载、对加密下载的 SSL/TLS 支持以及下载暂停/不完整文件的能力等功能。

为什么要使用 Wget?

在我们开始描述 Wget 的功能和用例之前,重要的是要澄清 Wget 不是 Web 浏览器的直接替代品。 相反,它有点像 Mac 和 Windows PC 的附加工具,可用于将文件从网页快速下载到设备。

除了促进快速下载之外,Wget 还允许您:

  • 在 Mac 上恢复中止/中断的下载
  • 在无人看管的后台下载文件
  • 从网页中提取资源(就像网络爬虫一样)
  • 递归下载文件
  • 通过代理下载内容
  • 以 WARC (Web ARCHive) 格式保存网站内容
  • 在慢速互联网连接上下载文件

如何在 Mac 和 Windows 上安装 Wget

Wget 很容易在 Mac 和 Windows 上安装。 按照以下部分中的说明(取决于您的操作系统)将其安装到您的计算机上。

在 Mac 上安装 Wget 的步骤

如果你有一台 Mac,在你的机器上安装 Wget 所需要的只是 Homebrew。 Homebrew 是一个免费的开源包管理器,预装在 macOS 上。 因此,除非您已将其删除,否则它应该存在于您的系统中。

虽然,在继续 Wget 安装之前,您确实需要更新所有公式并升级 Homebrew 中的过时软件包。 为此,请打开终端应用程序并运行以下命令:

brew update && brew upgrade

更新后,您可以使用以下命令在 Mac 上安装 Wget:

brew install wget

随着安装的进行,您将在终端窗口中看到进度。 请坐下来等待它完成。

在 Windows 上安装 Wget 的步骤

在 Windows 上,Wget 安装要求您下载程序文件并将其移动到System32目录——以确保您可以从文件系统中的任何目录调用 Wget。

首先,在您的网络浏览器中打开下面的链接,然后在您的计算机上下载最新版本的 Wget for Windows。

下载:Windows 版 Wget

转到您的下载文件夹并将 wget.exe 文件复制到C:/Windows/System32 。 当提示确认访问时,点击继续以完成文件复制。

最后,通过打开命令提示符并运行来验证是否安装了 Wget:

wget

也在 TechPP 上

如何使用 wget

Wget 一开始可能看起来有点吓人。 但是一旦你掌握了它的语法和选项,它就没有那么复杂了。

wget 语法

一般来说,Wget 命令使用以下语法:

wget [option] [url]

…在哪里

  • 选项指定要对提供的 URL 执行的操作
  • url是您要从中下载内容的网址

从现在开始,您只需遵循此语法并根据您要执行的操作为您的命令添加选项。 以下是一些最常见的 Wget 操作。

1. 下载文件

要从 URL 下载单个文件,请打开终端或命令提示符并按以下语法运行命令:

wget url/of/the/file

例如:

wget https://example.com/filename.txt

Wget 现在将解析提供的域,连接到服务器并开始下载。 Wget 将向您显示文件大小、传输速度、下载进度以及下载开始时完成下载的预计时间等详细信息。

下载文件后,您可以在当前工作目录中找到它,即从您运行 Wget 命令的目录中找到它。

要识别您当前的工作目录,请在终端或 CMD 中运行pwd 。 这将返回文件系统中的当前路径。 复制它并将其输入文件资源管理器(在 Windows 上)或Finder (在 macOS 上)以到达那里。

2.将文件下载到特定目录

正如我们所提到的,Wget 默认将您的下载保存到当前工作目录。

但是,如果您想将其保存到其他目录,则可以通过以下两种方式之一进行。 对于第一种方法,使用 CMD 或终端中的ls (在 macOS 上)/ dir (在 Windows 上)和cd命令将您当前的工作目录更改为您要保存要下载的文件的目录。 进入目录后,运行 Wget 命令下载文件。

另一方面,您可以通过使用 -p(前缀)选项在 Wget 下载命令中明确提及要保存文件的目录的路径来避免事先运行这些命令,如下所示:

wget -P absolute/path/to/directory/ url/of/the/file

也在 TechPP 上

3. 以不同的名称下载并保存文件

当您通过 Wget 下载文件时,它会使用在服务器上命名的名称保存文件。 但是,如果您愿意,可以使用-O选项将其保存为不同的名称。

该命令如下所示:

wget -O file_name_with_extension url/of/the/file

例如:

wget -O phone.jpg https://example.com/image.jpg

4.下载多个文件

有时您可能希望一次从一个或多个网站下载多个文件。 使用 Wget,更容易做到这一点。

只需在您的 Mac 或 Windows 上创建一个文本 (.txt) 文件,然后添加指向您要下载的文件的链接。 您可以通过右键单击文件并从菜单中选择复制链接地址来执行此操作。

将这些链接添加到文本文件后,打开 CMD 或终端并导航到要保存这些文件的目录。 进入后,按以下语法输入命令:

wget -i file_name.txt

例如:

wget -i downloads.txt

5. 通过跳过证书检查下载文件

SSL 证书验证网站的身份并启用加密连接。 如今,它几乎出现在大多数网站上。 但是,有时您可能希望从没有有效 SSL 证书的网站下载文件。

在这种情况下,使用标准的 Wget 下载将无济于事。 相反,您需要使用–no-check-certificate选项绕过 SSL 检查。

将此添加到您的命令中将如下所示:

wget --no-check-certificate url/of/the/website

例如:

wget --no-check-certificate http://example.com

6. 恢复不完整的下载 Wget

Wget 可以很容易地恢复被中断的下载。 因此,如果您尝试在浏览器(如 Chrome)中下载文件,但由于某种原因中途停止下载,您可以使用 Wget 从中断的地方继续下载。

为此,请打开终端或 CMD 并在命令中使用-c选项,如以下语法所示:

wget -c url/of/the/file

例如:

wget https://example.com/file.txt

也在 TechPP 上

7. 镜像网站

如果您希望创建网站的镜像(或保存整个网站)到您的桌面,您可以使用-m选项执行此操作,如下面的命令所示:

wget -m url/of/the/website

例如:

wget -m https://example.com

该网站的所有资源,例如 HTML、CSS、JS 和媒体,现在都将保存到您当前工作目录下的具有网站名称的目录中。

8. 通过 FTP 下载文件

Wget 还支持通过 FTP 下载。 要通过 FTP 下载文件,您需要服务器的用户名和密码。 之后,您可以简单地在以下命令语法中指定相同的内容来下载它:

wget --ftp-user=ftp_username --ftp-password=ftp-password ftp://url/of/the/website

例如:

wget --ftp-user=admin --ftp-password=pass@1234 ftp://ftp.example.com/file.pdf

9.限制下载速度

如果出于某种原因,您不希望 Wget 占用您的全部带宽(可能是因为您正在进行其他下载或因为它可能会减慢您的浏览体验)您可以使用–limit-rate选项限制 Wget 的下载速度:

wget --limit-rate 20k url/of/the/file

例如:

wget --limit-rate 20k https://example.com/file.txt

10. 在 Wget 中设置超时

到目前为止,我们讨论的所有 Wget 操作都假定连接的另一端有一个工作服务器。 但是您可以想象,有时服务器(您尝试从中下载文件)可能无法正常工作。

在此,由于 Wget 的开发方式,它会一直尝试连接到服务器,直到下载请求的文件。 但是,您可以通过使用-T选项后跟时间(以秒为单位)来阻止 Wget 这样做,如下所示:

wget -T 10 url/of/the/file

例如:

wget -T 10 https://cd.example.com/image.jpg

同样,您也可以限制尝试次数。 为此,请使用 –tries 选项:

wget --tries=2 url/of/the/file

wget 帮助

在任何时候,如果您需要任何 Wget 命令的帮助或想知道它提供了哪些选项,请运行:

wget -h

你还能用 Wget 做什么?

Wget 的用例远远超出了我们在本指南中介绍的操作。 但是,列表中的内容应该让您对 Wget 的工作原理有深入的了解,并对它的用法(和可用选项)有一定程度的熟悉,以满足您的大部分下载需求。

随着时间的推移,如果您希望探索 Wget 的更多用例,您可以查看 Wget 的手册页以了解它们。