cURL从Nginx服务器接收空体响应

时间:2011-05-28 16:12:37

标签: http curl nginx

我尝试使用cURL获取HTTP内容,但我只在回复中获得一个空主体:

[root@www ~]# curl -v http://www.existingdomain.com/
* About to connect() to www.existingdomain.com port 80 (#0)
*   Trying 95.211.256.257... connected
* Connected to www.existingdomain.com (95.211.256.257) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.21.0 (x86_64-redhat-linux-gnu) libcurl/7.21.0 NSS/3.12.8.0 zlib/1.2.5 libidn/1.18 libssh2/1.2.4
> Host: www.existingdomain.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/0.8.53
< Date: Sat, 28 May 2011 15:56:23 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< X-Powered-By: PHP/5.3.3-0.dotdeb.1
<
* Connection #0 to host www.existingdomain.com left intact
* Closing connection #0

如果我将网址更改为其他域名,例如www.google.com,我会收到内容。

这怎么可能?以及如何获取内容?

1 个答案:

答案 0 :(得分:1)

服务器可以随意向客户端发送任何内容,包括任何内容。虽然这不是很好,但客户端无法做到这一点。你可以

  • 检查服务器日志,看看是否存在一些让他如此平静的问题(鉴于服务器在您的控制之下)或
  • 尝试另一个客户端,看看服务器是否不喜欢与curl交谈。然后,您可以配置curl以模仿常规Web浏览器(如果有帮助)