- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我在使用 Rails 设置支持 pubsub 的订阅者应用程序时遇到问题。我目前已经订阅了开放式集线器 pubsubhubbub.appspot.com,并且正在接收到我的应用程序端点的 ping。 (截至目前,我已经创建了一个计数器,每次对端点执行 ping 操作时该计数器都会递增)。但我无法理解如何从 POST 中提取原始 POST 正文内容。我是 pubsub 的新手,很想尝试一下。我看到了这篇博文,但它不是特定于语言的。
资料来源:Joseph Smarr:实现 PubSubHubbub 订户支持:分步指南。 http://josephsmarr.com/2010/03/01/implementing-pubsubhubbub-subscriber-support-a-step-by-step-guide/
Now you’re ready for the pay-out–magically receiving pings from the ether every time the blog you’ve subscribed to has new content! You’ll receive inbound requests to your specified callback URL without any additional query parameters added (i.e. you’ll know it’s a ping and not a verification because there won’t be any hub.mode parameter included). Instead, the new entries of the subscribed feed will be included directly in the POST body of the request, with a request Content-Type of application/atom+xml for ATOM feeds and application/rss+xml for RSS feeds. Depending on your programming language of choice, you’ll need to figure out how to extract the raw POST body contents. For instance, in PHP you would fopen the special filename php://input to read it.
如有任何帮助,我们将不胜感激。
最佳答案
你没有说,但我假设你正在运行 Rails 3.x?
要获取原始 POST 正文,您只需在 Controller 中使用 request.raw_post。这将为您提供一个看起来像请求参数字符串的长字符串:some_var=something&something_else=something_else... 然后您可以解析它以获得您想要的内容。
但是,查看传入请求的开发日志,看看 params 散列是否对您来说不是更好的选择。该服务应该在某个变量名下发布数据,例如上面的 some_var,并且 params 散列将保存一个仅包含该数据的 params[:some_var]。也就是说不需要你自己去挖掘。
关于ruby-on-rails - Rails 上的 Pubsubhubbub。如何从 POST 请求中提取原始 POST 正文内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410362/
我是一名优秀的程序员,十分优秀!