Wget - Arch Linux 中文维基

跳转到内容

# Wget

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Wget，最近一次同步于 2024-6-20，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

GNU Wget 是一款自由软件，用于使用HTTP、HTTPS、FTP和 FTPS（FTPS 的支持自 1.18 版起）来检索文件。它是一个非交互式命令行工具，因此从脚本中调用它很容易。

## 安装

### wget 1.x

安装 wget包 软件包。git 版本存在于 AUR ，其名称为 wget-gitAUR。

### wget2

wget2 是命令行语法与之几乎完全相同的另一个软件，它"是 GNU Wget 的后继者"，"从零开始设计和编写"。这个重写版本"可以多线程运行，并可用许多功能来实现快速操作。由于采用了 HTTP2、HTTP 压缩、并行连接和使用 If-Modified-Since HTTP 请求头技术，在许多情况下，Wget2 的下载速度比 Wget1.x 快得多"。

要使用 wget2，请从 AUR 安装 wget2AUR。需要注意的是，这需要对 pandoc 进行 makedepend，依赖度较高；您也可以安装 AUR中的 wget2-no-docsAUR 来避免依赖。

## 配置

可在 `/etc/wgetrc` 中配置。默认配置文件不仅文档详尽，而且很少需要修改。更多复杂选项，请参见 wget(1) § OPTIONS。

### FTP 自动化

通常，SSH 用于在网络之间安全地传输文件。不过，相比于通过 SSH 运行的 scp 和rsync，FTP 占用的资源更少。FTP 并不安全，但当在受防火墙保护的环境中，在 CPU 紧张的系统上传输大量数据时，使用 FTP 可以被证明是有好处的。

    wget ftp://root:somepassword@10.13.X.Y//ifs/home/test/big/"*.tar"

    3,562,035,200 74.4M/s   in 47s

在本例中，Wget 以每秒 74.4MB 的速度传输了一个 3.3GiB 的文件。

简而言之，该程序

- 可编写脚本
- 比 ssh 更快
- 可替代字符串变量的语言易于使用
- globbingcapable

### 代理

Wget 使用标准代理环境变量。请参阅代理设置。

使用代理验证功能

    $ wget --proxy-user "DOMAIN\USER" --proxy-password "PASSWORD" URL

不包括使用 HTML 验证表单的代理。

### pacman 集成

要让 pacman 自动使用 Wget 和带有身份验证的代理，请将 Wget 命令写入 `/etc/pacman.conf` 中的 `[options]` 部分：

    XferCommand = /usr/bin/wget --proxy-user "domain\user" --proxy-password="password" --passive-ftp --quiet --show-progress --continue --output-document=%o %u

警告：请注意，以纯文本存储密码并不安全。可使用 `chmod 600 /etc/pacman.conf` 确保只有 root 才能读取该文件。

## 用法

本节将解释 Wget 的一些使用场景。

### 基础用法

Wget 最基本、最常见的用途之一就是从互联网上下载文件。

    $ wget <url>

当你已经知道要下载文件的 URL 时，这比通常在浏览器上下载文件并手动将其移动到正确的目录要快得多。不言而喻的是，你可找到一些方法来利用其最简单的用法进行自动下载，如果你想要。

### 完整网站存档

Wget 可以将绝对链接改为相对链接，从而在存档完整网站的同时保留正确的链接目的地。

    $ wget --recursive --no-parent --convert-links 'target-url-here'

如果是动态网站，还可以使用一些其他选项将其转换为静态 HTML。

    $ wget --recursive --no-parent --page-requisites --adjust-extension --convert-links --backup-converted 'target-url-here'

wget 还提供了绕过下载阻止机制的选项。

    $ wget --recursive --no-parent --convert-links --random-wait --execute robots=off --user-agent "Mozilla/5.0" 'target-url-here'

And if third-party content is to be included in the download, `-H/--span-hosts` switch can be used alongside `-r/--recursive` to recurse to linked hosts.

分类：​

- 下载工具
- GNU

Wget
添加话题