我在 myapp.heroku.com 上构建了一个网络应用程序,其中“myapp”实际上是 heroku 生成的随机名称。当我用我的网络浏览器点击它时,它就可以工作了。当我使用 Ruby Rest-Client (gem rest-client v1.6.3) 按如下方式点击它时:
irb(main):024:0> response=RestClient.get "http://myapp.heroku.com"
它与以下内容有关:
RestClient::InternalServerError: 500 Internal Server Error
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client- 1.6.3/lib/restclient/abstract_response.rb:48:in `return!'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client-1.6.3/lib/restclient/request.rb:228:in `process_result'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client-1.6.3/lib/restclient/request.rb:176:in `block in transmit'
from C:/Ruby192/lib/ruby/1.9.1/net/http.rb:627:in `start'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client-1.6.3/lib/restclient/request.rb:170:in `transmit'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client-1.6.3/lib/restclient/request.rb:64:in `execute'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client-1.6.3/lib/restclient/request.rb:33:in `execute'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rest-client-1.6.3/lib/restclient.rb:68:in `get'
from (irb):24
from C:/Ruby192/bin/irb:12:in `<main>'
当我使用具有更知名的 URL(例如“http://www.google.com”或“http://www.heroku.com”)的同一客户端时,它可以正常工作,URL 的内容会下载,并且一切都是好的。当我将同一个客户端与在“http://localhost:3000”上运行的应用程序版本一起使用时,它也可以正常工作。
我是否在我的 rest-client 客户端中遗漏了一些东西,阻止它从 heroku.com 上托管的应用程序获取数据?
============ 编辑 ==== 附加信息 ===========
在上面睡觉后,我尝试了:
irb> require 'net/http'
irb> NET::HTTP.get_print URI.parse "http://myapp.heroku.com"
它工作得很好。