当 curl 从我的计算机上的服务器返回“空回复”时,对连接进行故障排除

当 curl 从我的计算机上的服务器返回“空回复”时,对连接进行故障排除

不知什么原因,我的电脑 (Mac OS X 10.11.1) 无法使用 curl 从网站获取网页,而在其他电脑上却可以正常使用。此外,ping 可以工作,但 curl 不行:

$ ping www.latex-tutorial.com
PING latex-tutorial.com (162.252.172.25): 56 data bytes
64 bytes from 162.252.172.25: icmp_seq=0 ttl=54 time=76.116 ms
64 bytes from 162.252.172.25: icmp_seq=1 ttl=54 time=74.538 ms
64 bytes from 162.252.172.25: icmp_seq=2 ttl=54 time=90.379 ms
^C
--- latex-tutorial.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 74.538/80.344/90.379/7.125 ms

现在当在有问题的机器上多次执行 curl 时:

$ curl http://www.latex-tutorial.com
curl: (52) Empty reply from server
$ curl -Lv http://www.latex-tutorial.com
* Rebuilt URL to: http://www.latex-tutorial.com/
*   Trying 2a02:748:a800:162:252:172:25::...
* Connected to www.latex-tutorial.com (::1) port 80 (#0)
> GET / HTTP/1.1
> Host: www.latex-tutorial.com
> User-Agent: curl/7.43.0
> Accept: */*
>
* Empty reply from server
* Connection #0 to host www.latex-tutorial.com left intact
curl: (52) Empty reply from server

当我在同一网络中的另一台 Mac 笔记本电脑(相同版本)上执行相同命令时,每次都会得到正确的 html 网页。我的机器可能出了什么问题?我确实从互联网上下载了一些东西,我的机器可能感染了病毒/恶意软件,但我的防病毒程序无法检测到任何东西。

有人能指出我应该从哪里开始寻找错误吗?

答案1

尝试将-4选项添加到curl命令行。或者,尝试http://162.252.172.25查看结果。正在ping使用该地址,即 IPv4 地址。正在curl使用 IPv6,地址以 开头2a02。并非所有 IPv6 堆栈都同样强大 - 也许您的 IPv6 堆栈存在连接问题。

相关内容