Wget 是一个命令行工具,您可以通过它使用 HTTP、HTTPS 和 FTP 协议从 Internet 下载任何内容。 它支持 IPv4(Internet 协议版本 4)以及 IPv6(Internet 协议 6)地址以连接到 Internet。
如果出于某种原因您希望使用 IPv4 或 IPv6 协议进行连接,那么您必须在每次使用 wget 命令时指定它,否则您将不得不更改默认设置。 在本文中,我们将确切了解该过程。
wget 对比 curl – wget 和 wget 有什么区别 curl 命令?
安装 wget
该工具默认安装在大多数 Linux 发行版中,因此首先,通过在终端中键入以下命令来检查其版本:
wget --version
如果上述结果未显示,您可以从命令行安装该工具,具体取决于您的 Linux 发行版,如下所示:
对于基于 Debian 和 Ubuntu 的发行版
在终端中,键入并执行以下命令:
sudo apt update && sudo apt install wget
上 Fedora 工作站
Fedora 有 dnf 和 yum 包管理器,所以你可以像这样从终端安装任何应用程序:
sudo dnf install wget
在 Arch Linux 和基于 Arch 的发行版上:
在 Arch 及其衍生操作系统上,pacman 被用作包管理器。 因此,安装过程如下所示:
sudo pacman -S wget
为一次性使用强制执行 IPv4 和 IPv6 协议
如果您只是使用 wget 命令和 URL,则默认情况下,它使用 32 位 IPv4 地址和 128 位 IPv6 地址连接到 Internet,例如:
wget https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
要使用 IPv4 协议,我们需要使用 –inet4-only 标志和命令:
wget --inet4-only https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
同样,您可以使用 –inet6-only 标志强制通过 IPv6 协议开始下载,如下所示:
wget --inet6-only https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
永久强制执行 IPv4 和 IPv6 协议
要永久强制执行任何操作,您必须分别为单个用户或所有用户修改位于 ~/.wgetrc 或 /etc/wgetrc 的 .wgetrc 文件。 使用 vim 或 nano 等文本编辑器打开文件:
vim ~/.wgetrc # or vim /etc/wgetrc
现在,只需在文件中添加(或通过删除 # 取消注释)以强制 IPv4 或 IPv6:
inet4_only = on/off # or inet6_only = on/off
概括
我强烈建议您只使用临时标志来使用 IPv4 或 IPv6,除非您知道自己在做什么。 如果您强制使用 IPv6 并且主机 DNS 没有该连接,那么您将遇到“失败:没有与主机名关联的地址”错误。
参考
Archwiki – Wget