Networking

當 curl 僅從我的電腦上的伺服器返回“空回复”時排除連接故障

  • November 14, 2015

無論出於何種原因,當我的電腦(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 網頁。我的機器可能有什麼問題?我確實從網際網路上下載了一些東西,我的機器可能感染了病毒/惡意軟體,但我的防病毒程序無法檢測到任何東西。

誰能指出我應該從哪裡開始尋找錯誤?

嘗試將-4選項添加到curl命令行。或者,試著http://162.252.172.25看看你得到了什麼。正在使用該ping地址,這是一個 IPv4 地址。使用curlIPv6,地址以 . 開頭2a02。並非所有 IPv6 堆棧都同樣強大 - 也許您的堆棧存在連接問題。

引用自:https://serverfault.com/questions/736244