代码之家  ›  专栏  ›  技术社区  ›  Shripad Krishna

在铁轨上发布subhubbub。如何从POST请求中提取原始POST正文内容?

  •  10
  • Shripad Krishna  · 技术社区  · 14 年前

    我无法使用rails设置启用pubsub的订户应用程序。我目前已经订阅了open hub pubsubbub.appspot.com,并且正在接收应用程序终结点的ping。(到现在为止,我已经创建了一个计数器,每次ping端点时都会递增)。但我无法理解如何从帖子中提取原始的帖子正文内容。我对pubsub很陌生,很想尝试一下。我在博客上看到了这篇文章,但不是专门针对语言的。


    资料来源:Joseph Smarr:实现pubsubbub订户支持:一个循序渐进的指南。 http://josephsmarr.com/2010/03/01/implementing-pubsubhubbub-subscriber-support-a-step-by-step-guide/

    现在你准备好了 付出-神奇地从 每次你写博客的时候 订阅有新内容!你会的 接收对您的入站请求 指定的回调URL没有任何 添加了其他查询参数 (也就是说,你会知道这是一个平,而不是 因为不会有 包含任何hub.mode参数)。 取而代之的是 订阅的订阅源将包括在内 直接在 请求,具有请求内容类型 用于atom提要的application/atom+xml 和application/rss+xml 喂养。取决于你的程序 语言的选择,你需要 找出如何提取原始帖子 正文内容。例如,在PHP中 你可以用特殊的文件名 php://input来读取它。

    任何帮助都将不胜感激。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Jonas Schubert Erlandsson digitalPBK    12 年前

    你没说,但我假设你在运行Rails 3。x?

    要获取原始POST主体,只需在控制器中使用request.raw_POST。这将给您一个长字符串,它看起来像一个请求参数字符串:some-var=something&something-else=something。。。然后你可以分析得到你想要的。

    但是,查看一个传入请求的开发日志,看看params散列是否不是一个更好的选择。服务应该以某个变量名发布数据,比如上面的某个变量名,params散列将包含一个params[:some_var]只包含该数据。换句话说,你不需要自己去挖掘它。