【问题标题】:Net::http and HTTParty work locally but not on Heroku - RoR3Net::http 和 HTTParty 在本地工作,但不能在 Heroku 上工作 - RoR3
【发布时间】:2014-05-23 19:26:50
【问题描述】:

我正在开发一些 RoR3 应用程序,我必须向某个服务器发出 HTTP 请求。

我尝试了 Ruby 的 Net::HTTP 库,并且在本地工作,但在 Heroku 上没有。然后我尝试了 HTTParty 并让它在本地工作,但它仍然无法在 Heroku 上工作。我明白了

很抱歉,出了点问题。

当我检查 Heroku 日志时,我得到了

500 内部服务器错误

显示为最后一个日志。

我确保在 gemfile 的正确位置提到了“httparty”gem。

有没有关于如何从 Heroku PaaS 发出 HTTP 请求的教程?

谢谢

【问题讨论】:

    标签: ruby-on-rails-3 ruby-on-rails-3.2 httparty net-http


    【解决方案1】:

    Amit Suroliya 是正确的。我也在使用 HTTParty,它正在通过 Curl 和 Development 工作,但在生产中会崩溃。因为 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',注意MichelleObama之间的空间。因为插值,HTTParty.get('string')是不正确的。

    解决方案:

    将字符串中的所有空格替换为+,或者您可以使用%20

    我用query.gsub!(' ', '+')

    有关 URL 中空格的更多信息,请查看此处:URL 中的空格?

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 2012-04-01
      • 2021-04-26
      • 2013-03-29
      • 2015-02-07
      • 1970-01-01
      相关资源
      最近更新 更多