【发布时间】:2014-06-21 12:32:42
【问题描述】:
我正在使用 rails 环境。我正在使用 Net::HTTP 模块来调用外部 API 并获取响应。这在我的本地主机中运行良好。但是在暂存它时会引发 Net::HTTPBadResponse 错误。我的登台启用了 SSL。这就是区别。在下面提供代码 sn-p 和错误。
parameters = {'VirtualNumber' => '09845xxxxxx','Number[]' => "09878xxxxxx" }
x = Net::HTTP.post_form(URI.parse("https://example.com"), parameters)
Error:
Net::HTTPBadResponse (wrong status line: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">")
成功的结果将采用 XML 格式。谁能帮我解决这个问题。
谢谢你,
问候
【问题讨论】:
-
我建议服务器在没有 HTTP 标头的情况下发回数据,例如只有身体。所以应该发送
HTTP/1.1 200 ok...\r\n\r\n<!DOCTYPE...等而不是<!DOCTYPE...。请查看您的服务器设置。 -
嗨,我没有完全理解你。你能再解释一下吗?
-
一个 HTTP 消息由一个 header 和一个 body 组成,header 的第一行是状态行,看起来像“HTTP/1.1 200 ok”等 Net::HTTP 抱怨无效状态行,因为看起来您的服务器只发送了 HTTP 正文,没有 HTTP 标头。所以你的服务器可能有问题。
-
感谢您的宝贵时间。我的问题已经解决了。在下面给出我的解决方案。
标签: ruby-on-rails ssl net-http