Ruby on rails 3 http和HTTParty在本地工作,但不能在Heroku-RoR3上工作
我正在开发一些RoR3应用程序,我必须向某个服务器发出HTTP请求 我尝试了Ruby的Net::HTTPlib,并在本地工作,但在Heroku上没有。然后我尝试了HTTParty,让它在本地运行,但在Heroku上仍然不起作用。我明白了 很抱歉,出了点问题 当我检查Heroku日志时,我得到 500内部服务器错误 显示为最后一个日志 我确保“httparty”gem在gemfile中的正确位置被提及 有关于如何从Heroku PaaS发出HTTP请求的教程吗Ruby on rails 3 http和HTTParty在本地工作,但不能在Heroku-RoR3上工作,ruby-on-rails-3,ruby-on-rails-3.2,httparty,net-http,Ruby On Rails 3,Ruby On Rails 3.2,Httparty,Net Http,我正在开发一些RoR3应用程序,我必须向某个服务器发出HTTP请求 我尝试了Ruby的Net::HTTPlib,并在本地工作,但在Heroku上没有。然后我尝试了HTTParty,让它在本地运行,但在Heroku上仍然不起作用。我明白了 很抱歉,出了点问题 当我检查Heroku日志时,我得到 500内部服务器错误 显示为最后一个日志 我确保“httparty”gem在gemfile中的正确位置被提及 有关于如何从Heroku PaaS发出HTTP请求的教程吗 谢谢Amit Suroliya是正确
谢谢Amit Suroliya是正确的。我也在使用HTTParty,它通过Curl和开发工作,但会在生产中崩溃。因为HTTParty参数是文本URL(作为字符串),所以它必须是一个完美的URL/URI(表示没有空格)。我的坏URI如下所示:
HTTParty.get("http://api.blahblahblah.com/v1/Boards/Search?&limit=79&query=#{query}&filter_date_from=1423353600")
注意插值query=#{query}“
,因此如果query='Michelle Obama'
,注意Michelle
和Obama
之间的空格。由于插值,HTTParty.get('string')
不正确
解决方案:
将字符串中的所有空格替换为+
,也可以使用%20
我使用了query.gsub!(“,+”)
有关URL中空格的更多信息,请查看此处:URL中的空格