我正在使用 CentOS 6.4,并且我是这个操作系统的新手。
我正在使用wget
命令下载一个 5 GB 的文件。我观察到它试图从不同的IP地址(54.240.168.41)下载文件,但被代理服务器阻止了。所以我得到了网络支持打开的这个特定IP地址,下载开始工作。
由于文件很大,我把它留到连夜完成执行。第二天早上,由于网络错误,下载停止了。仅下载了 42%。我尝试使用-c
命令选项下载文件wget
。但是,wget
不断尝试连接到以 开头的不同 IP 地址(54.xxx.xxx.xxx
IP 地址 除外)54.240.168.41
。
我的问题是,我如何告诉wget
从未被网络阻止的特定 IP 地址下载?
这是我正在执行的命令
wget --continue http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.2.0/HDP-2.3.2.0-centos6-rpm.tar.gz
答案1
这在切换 DNS 时对我有用,并且需要通过 IP 访问旧服务器,但指定主机标头以路由到我在旧服务器上的帐户。
wget http://198.38.82.5/something.tar.gz --header "Host: domain-at-server.net"
答案2
我通过使用选项解决了这个问题--no-dns-cache
。当给出此选项时,它开始54.240.168.41
在它尝试连接的 IP 列表中列出 IP 地址。
wget --no-dns-cache --continue http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.2.0/HDP-2.3.2.0-centos6-rpm.tar.gz
答案3
如果您在命令中使用主机名而不是 IP,则会面临该主机名的 DNS 条目在运行之间发生变化的风险。相反,使用实际的 IP:
wget --continue http://54.240.168.41/HDP/centos6/2.x/updates/2.3.2.0/HDP-2.3.2.0-centos6-rpm.tar.gz
但如果服务器实际上已转移到单独的 IP,这将无济于事。考虑要求您的代理管理员通过主机名而不是 IP 提供豁免。