CURL收到“来自服务器的空回复”,但浏览器收到响应。为什么?

时间:2019-01-23 13:41:53

标签: django rest nginx curl request

我设置了rest-api服务器。 (Django 1.11 + NGINX + Gunicorn + Postgresql 9.6)

为了进行测试,我开发了简单的API。获取请求URL / test,然后响应“成功”字符串。在网络浏览器中,效果很好。

但是,当我使用CURL请求相同的url时,会收到“ curl:(52)来自服务器的空回复”。我在其他远程服务器上尝试了curl,然后在该服务器上尝试了curl http://127.0.0.1/test。两者都不起作用。我收到“卷曲:(52)服务器发来的空答复”。

为什么它可以在Web浏览器中使用,而不能在CURL中使用?我应该在哪里检查? NGIMX? Django的?我检查了火井。

对不起,英语不好。谢谢!

更新:

我尝试了以下方法,

$ curl -vv http://127.0.0.1/test/
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET /test/ HTTP/1.1
> Host: 127.0.0.1
> User-Agent: curl/7.58.0
> Accept: */*
>
* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
curl: (52) Empty reply from server

1 个答案:

答案 0 :(得分:0)

首先在curl命令中添加-vv,以查看连接情况。如果显示服务器重定向正在发生,请添加-L来解决问题。