为什么 wget 挂了?

Szc*_*pan 16 ubuntu wget

从我的一台服务器到单个特定 url 的 wget 不断超时。此框中的所有其他网址都可以正常工作。这个网址在我拥有的任何其他盒子上都可以正常工作。这是输出:

wget -T 10 http://www.fcc-fac.ca
--2011-07-14 14:44:29--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... failed: Connection timed out.
Connecting to www.fcc-fac.ca|207.195.108.140|:80... failed: Connection timed out
Run Code Online (Sandbox Code Playgroud)

你能告诉我什么可能是错误的,我该如何解决它?我使用的是 Ubuntu 11.04 (GNU/Linux 2.6.38-8-server x86_64)

非常感谢您并原谅我的小白无知:)

ping、telnet、nc www.fcc-fac.ca 80 - 全部挂起。但是,其他一些 url 很容易 wget'able,尽管只有它们的一些主机可以 ping 通。

traceroute 并没有告诉我太多:

7  rx0nr-access-communications.wp.bigpipeinc.com (66.244.208.10)  148.834 ms  149.018 ms  148.940 ms
8  sw-1-research.accesscomm.ca (24.72.3.9)  158.901 ms  159.805 ms  160.162 ms
9  65.87.238.126 (65.87.238.126)  150.069 ms  148.861 ms  148.846 ms
10  * * *
...
30  * * *
Run Code Online (Sandbox Code Playgroud)

非常感谢您的回答!

hmo*_*liu 18

我认为问题在于 wget 不能很好地处理 IPv6 地址,并且 DNS 服务器正在为该站点发送 IPv6。对不起,如果我误解了你的问题。检查这些测试:

hmontoliu@ulises:~$ wget -T10 http://www.fcc-fac.ca
--2011-07-14 16:44:34--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: Connection timed out.
wget: unable to resolve host address `www.fcc-fac.ca'
Run Code Online (Sandbox Code Playgroud)

如果我因为认为您的问题与此相关而强制使用 IPv6,则它会失败:

hmontoliu@ulises:~$ wget -6 http://www.fcc-fac.ca
--2011-07-14 16:40:44--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... failed: No address associated with hostname.
wget: unable to resolve host address `www.fcc-fac.ca'
Run Code Online (Sandbox Code Playgroud)

但是,如果我强制使用 IPv4,它会直接下载索引页面

hmontoliu@ulises:~$ wget -4 http://www.fcc-fac.ca
--2011-07-14 16:40:56--  http://www.fcc-fac.ca/
Resolving www.fcc-fac.ca... 65.87.238.35, 207.195.108.140
Connecting to www.fcc-fac.ca|65.87.238.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6554 (6,4K) [text/html]
Saving to: `index.html'
Run Code Online (Sandbox Code Playgroud)