【问题标题】:CURL receive "empty reply from server", but browser receive response. Why?CURL 收到“来自服务器的空回复”,但浏览器收到响应。为什么?
【发布时间】:2019-01-23 13:41:53
【问题描述】:

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

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

但是当我使用 CURL 请求相同的 url 时,我收到“curl: (52) Empty reply from server”。我在其他远程服务器上尝试了 curl,我在该服务器上尝试了 curl http://127.0.0.1/test。两者都没有工作。我收到“卷曲:(52)来自服务器的空回复”。

为什么它在网络浏览器中有效,而在 CURL 中无效?我应该在哪里检查? NGIMX?姜戈?我检查了火井。

抱歉英语不好。谢谢!

更新:

我尝试了以下,

$ 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

【问题讨论】:

  • 你能展示一下你是如何做卷曲的吗?

标签: django rest nginx curl request


【解决方案1】:

首先将-vv 添加到 curl 命令以查看连接发生了什么。如果提示正在发生服务器重定向,请添加-L 以解决问题。

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多