wget:无法解析主机地址`http'

问题描述 投票:0回答:7

当我执行

wget

时,我在 Ubuntu 12.04 64 位机器上遇到了这个奇怪的事情
$ wget google.com

--2014-07-18 14:44:32--  http://google.com/

Resolving http (http)... failed: Name or service not known.

wget: unable to resolve host address `http'

我之前在任何网页(而不是http)上获取它时都遇到过这个问题,这需要我将我的名称服务器添加到

/etc/resolv.conf

然而,这似乎不是问题,而是将

http
视为不同的东西。有什么建议吗?

http ubuntu networking ubuntu-12.04 wget
7个回答
73
投票

DNS 服务器似乎出现故障。您可以使用其他 DNS 服务器,例如 8.8.8.8。将

nameserver 8.8.8.8
放在 /etc/resolv.conf
第一行


15
投票

http
中删除
https
wget https:github.com/facebook/facebook-php-sdk/archive/master.zip
。这对我来说效果很好。


9
投票

我也有这个问题。我怀疑 DigitalOcean 的域名服务器存在问题,因此这也可能会影响很多其他人。 这是我暂时解决这个问题的方法 - 但其他人可能可以提供更好的长期解决方案的建议:

  1. 确保您的 DNS 解析器配置文件可写:

    sudo chmod o+r /etc/resolv.conf

  2. 暂时更改您的 DNS 以使用 Google 的域名服务器而不是 DigitalOcean 的:

    sudo nano /etc/resolv.conf

将文件中的IP地址更改为:

8.8.8.8

CTRL
+
X
保存文件。

这只是一个临时修复,因为该文件是由服务器自动写入/更新的,但是,我还没有弄清楚写入什么内容,以便我可以永久更新它。


6
投票

我知道出了什么问题了。在我的盒子的代理配置中,额外的

http://
前缀为“带有 http 的代理服务器”。

示例..

http://http://proxy.mycollege.com

这就产生了问题。已更正,效果完美。

感谢@WhiteCoffee 和@ChrisBint 的建议!


2
投票

如果使用Vagrant,请尝试重新加载你的盒子。这解决了我的问题。


0
投票

这可能是由于 resolv.conf 被覆盖而发生的,这个答案对我有帮助,每次设置新的 WSL 时都使用下面的内容。

sudo chattr +i /etc/resolv.conf
- 将使文件不可变,并且下次启动 wsl 时不会被覆盖。

sudo bash -c 'echo -e "[network]
generateResolvConf = false" > /etc/wsl.conf
rm /etc/resolv.conf
echo -e "options timeout:1 attempts:1 rotate
nameserver 1.1.1.1
nameserver 1.0.0.1" > /etc/resolv.conf
chattr -f +i /etc/resolv.conf'

0
投票

我遇到了同样的问题,我刚刚从链接中删除了 http:// 并且它起作用了:

!wget www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz

© www.soinside.com 2019 - 2024. All rights reserved.