【问题标题】:cURL : (52) Empty reply from servercURL : (52) 来自服务器的空回复
【发布时间】:2013-12-12 21:47:06
【问题描述】:

我正在编写一个远程 API 来处理一些后端进程,我的 API 通常需要大约 30 秒才能完成操作(等待时间我没问题,它是一个内部进程)。当我对 API 进行 cURL 调用时,我收到以下消息 curl: (52) Empty reply from server。 我需要 cURL 来等待响应,-mconnect-timeout 似乎没有帮助。

附加信息:我将 Sinatra 用于后端 API

【问题讨论】:

  • 您是否测试了另一种 HTTP 请求方式以查看是否得到响应? IE。 (机械化/HTTParty 红宝石宝石)
  • 我没有尝试 Mechanize/HTTParty。我确实尝试过其他客户端来检查响应,我确实得到了它
  • 我用get "/"; sleep(30); "response"; end 试试它,只使用 curl 没有任何额外的参数,它工作正常,所以它不是 curl 或 sinatra 你应该检查你的代码,你的应用程序服务器,你的代理,你曾经是什么在 curl 和您的应用程序之间
  • @Sir l33tname:谢谢,我在发帖之前确实检查过,结果是一样的。我意识到我用于 Sinatra 的 Thin Application Server 的默认超时时间为 30 秒。我解决了这个问题,它就像一个魅力。
  • nice :) 我添加它作为答案,请接受它的完整性

标签: api curl sinatra


【解决方案1】:

我用get "/"; sleep(30); "response"; end 尝试它,只使用 curl 没有任何额外的参数,它工作正常。

这通常意味着它不是 sinata 或 curl。它介于具有超时功能的代理、应用程序服务器或其他任何东西之间。

【讨论】:

    【解决方案2】:

    我遇到了同样的错误,并跟踪它是我的代理设置的问题。具体来说,我正在使用 TSOCKS 将所有内容发送到 socks 代理。禁用 TSOCKS 允许 curl 工作。使用 curl 命令指定 socks 代理解决了这个问题。

    例如。 curl --proxy socks5h://192.168.0.5:8111 http://webserver.com/file.ext

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2015-05-05
      • 2010-12-27
      • 1970-01-01
      • 2021-08-03
      相关资源
      最近更新 更多