Rails портит HTTP-параметры POST - PullRequest
0 голосов
/ 08 июня 2010

Наше приложение предоставляет API, который люди могут использовать для отправки URL-адресов, например:

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 Ответ

1 голос
/ 08 июня 2010

Что именно Rails портит?

Если вы имеете в виду тот факт, что он не получил полный URL-адрес 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' 
...