Rails搞砸了HTTP POST Params

时间:2010-06-08 17:05:06

标签: ruby-on-rails post params

我们的应用提供了一个API,人们可以使用它来提交这样的网址:

curl -X POST http://app.local/resource -d'url=http://news.google.com/newshl=en&q=obama&um=1&ie=UTF-8&output=rss' 

不幸的是,似乎Rails对这个参数感到困惑。有关如何解决此问题的任何想法? 请参阅以下日志:

Processing ApplicationController#index (for 127.0.0.1 at 2010-06-08 19:03:09) [POST]
  Parameters: {"um"=>"1", "url"=>"http://news.google.com/newshl=en", "output"=>"rss", "q"=>"obama", "ie"=>"UTF-8"}

我希望如下:

  Parameters: {"url"=>"hhttp://news.google.com/newshl=en&q=obama&um=1&ie=UTF-8&output=rss"}

1 个答案:

答案 0 :(得分:1)

究竟是什么Rails搞砸了?

如果您指的是它没有获得完整的Google网址(即将其分为输出,q和其他参数),那是因为您需要编码'&'如果要将其用作值的一部分,则为字符。类似的东西:

curl -X POST http://app.local/resource -d'url=http://news.google.com/newshl=en%26q=obama%26um=1%26ie=UTF-8%26output=rss'