如何在Linux中设置Wget连接超时?


摘要

在Linux环境中工作时,您可以自由决定如何从透明URL下载文件。大多数用户习惯于Linux交互式下载文件的方法。这种交互式方法涉及使用Web浏览器,用户点击可用的下载按钮,然后等待文件下载开始并成功完成。

通过非交互式或命令行环境获取基于网络的文件的另一种方法是免费的GNU软件Wget。Wget实用程序的非交互式特性表明,即使系统用户当前未登录Linux操作系统,您的文件下载也可以在后台进行或继续。

Wget应用程序支持通过FTP、HTTP和HTTPS协议检索文件。此外,它还支持基于HTTP代理的文件下载。本文将介绍在Linux操作系统环境中设置Wget超时的内容,以帮助下载文件。

注意 - Linux命令区分大小写。

在Linux中安装Wget

在当今大多数Linux发行版中,wget包都是预安装的。

打开您的终端,输入wget,然后按Enter键查看您的机器上是否安装了Wget包。如果安装了wget,计算机将打印wget: missing URL。否则,将显示wget command not found。

如果尚未设置wget,您的包管理工具可以轻松地完成此操作。

在Ubuntu和Debian上安装Wget

$ sudo apt install wget

在CentOS和Fedora上安装Wget

$ sudo yum install wget

在Linux中使用Wget

可以使用以下标准语法使用Wget GNU实用程序:

$ wget [option]… [URL]...

有多个超时选项,包括--dns-timeout、--connect-timeout、--read-timeout和--timeout,因此我们必须明确说明我们想要的选项。

Wget --dns-timeout选项

--dns-timeout选项指定DNS查找的最大时间。

$ wget --dns-timeout=5   https://github.com/the-vishal/Tutorials-Downloader/blob/master/README.md

--dns-timeout=5选项表示DNS查找时间超过5秒即为失败。

Wget --connect-timeout选项

对于TCP连接,您可以使用wget --connect-timeout选项。

$ wget --connect-timeout=3  https://github.com/the-vishal/Tutorials-Downloader/blob/master/README.md

前面的wget命令选项(--connect-timeout=3)表示如果建立TCP连接的时间超过3秒,则将终止该连接。

Wget --read-timeout选项

当用户恢复从服务器读取/下载数据/文件,但存在传输间隙导致Wget等待服务器时,wget --read-timeout选项很有用。

$ wget--read-timeout=3 https://github.com/the-vishal/Tutorials-Downloader/blob/master/README.md

您可以使用--read-timeout提供您自己的等待时间,而不是处理这个不可知的等待时间,如果超过此时间,文件下载将停止并重新启动。

Wget --timeout选项

wget --timeout选项的值(也称为网络超时)会自动被所有其他Wget超时设置继承。例如,如果其值为x,则--dns-timeout、--connect-timeout和--read-timeout的值也将假定为x。

$ wget --timeout=6 https://github.com/the-vishal/Tutorials-Downloader/blob/master/README.md

在连接不稳定或服务器不稳定的网络设置中,Wget GNU工具的超时参数对于启动和完成文件下载非常有用。

结论

在连接不稳定或服务器不稳定的网络设置中,Wget GNU工具的超时参数对于启动和完成文件下载非常有用。

在本教程中,我们讨论了wget命令的超时设置。对于大多数下载,我们可以简单地使用默认超时设置。

但是,了解这些超时设置可以帮助我们在特定网络环境(例如连接或服务器不稳定的环境)中调整超时时间,以便正确完成下载。

更新于:2023年3月23日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告