Wget 是一個命令行工具,可以使用 HTTP、HTTPS 和 FTP 協議從 Internet 下載任何內容。 支持 IPv4(Internet 協議版本 4)和 IPv6(Internet 協議 6)地址連接到 Internet。

如果由於某種原因您想使用 IPv4 或 IPv6 協議進行連接,則每次使用 wget 命令時都必須指定它。否則,您將不得不更改默認值。在這篇文章中,我們將看看這個過程。

wget vs curl – wget 和 wget curl 命令有什麼區別?

安裝wget

大多數 Linux 發行版都默認安裝了此工具,因此請先在終端中輸入以下命令來檢查版本:

wget --version
檢查操作系統上安裝的 Wget 版本

如果您沒有看到上述結果,您可以從命令行安裝工具,具體取決於您的 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
Wget 默認連接到 IPv4 和 IPv6

要使用 IPv4 協議,您必須使用 –inet4-only 標誌和命令。

wget --inet4-only https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
這次只用IPv4下載這次只用IPv4下載

同樣,您可以使用 –inet6-only 標誌強制下載從 IPv6 協議開始,如下所示:

wget --inet6-only https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
僅通過 IPv6 下載文件僅通過 IPv6 下載文件

永久應用 IPv4 和 IPv6 協議

要永久強制執行該操作,您需要分別為單個用戶或所有用戶修改 ~/.wgetrc 或 /etc/wgetrc 中的 .wgetrc 文件。 使用 vim 或 nano 等文本編輯器打開文件。

vim ~/.wgetrc
# or vim /etc/wgetrc
在文本編輯器中打開 Wgetrc 文件。在文本編輯器中打開 Wgetrc 文件。

現在,要強制使用 IPv4 或 IPv6,只需在文件中添加(或通過刪除 # 取消註釋)。

inet4_only = on/off

# or

inet6_only = on/off

總結

除非您知道自己在做什麼,否則強烈建議使用僅帶有臨時標誌的 IPv4 或 IPv6。 如果您強制使用 IPv6 而您的主機 DNS 沒有該連接,您將收到錯誤“失敗:沒有與主機名關聯的地址”。

參考

Archwiki – Wget