如何获取HTTPRequest POST数据?

发布于 2024-08-29 04:27:55 字数 538 浏览 4 评论 0原文

我正在使用 Mongrel 用 Ruby 实现一个小型 HTTP 服务器。我的代码当前如下所示:

require 'mongrel.rb'

class SimpleHandler < Mongrel::HttpHandler
  def process(request, response)
    puts request.body # outputs #<StringIO:0xb7656e74> 
    response.start(200) do |head,out|
      head["Content-Type"] = "application/ocsp-responder"
      out.write("hello!\n")
    end
  end
end

h = Mongrel::HttpServer.new("127.0.0.1", "5000")
h.register("/", SimpleHandler.new)
h.run.join

正如您在我的示例中看到的,request.body 不输出 POST 数据。我怎样才能得到它?

I'm implementing a small HTTP server with Ruby using Mongrel. My code currently looks like this:

require 'mongrel.rb'

class SimpleHandler < Mongrel::HttpHandler
  def process(request, response)
    puts request.body # outputs #<StringIO:0xb7656e74> 
    response.start(200) do |head,out|
      head["Content-Type"] = "application/ocsp-responder"
      out.write("hello!\n")
    end
  end
end

h = Mongrel::HttpServer.new("127.0.0.1", "5000")
h.register("/", SimpleHandler.new)
h.run.join

As you can see in my sample, request.body does not output the POST data. How can I get it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑红尘 2024-09-05 04:27:55

StringIO#read 应该这样做:

puts request.body.read

StringIO#read should do it:

puts request.body.read
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文