不知什么原因,我的电脑 (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 堆栈存在连接问题。