使用Net :: HTTP时,HTTP请求路径为空

时间:2013-02-22 18:52:52

标签: ruby-on-rails ruby net-http

所以我jut创建了一个这样的控制器:

require 'net/http'
class HowdyController < ApplicationController
  def show
    url = URI.parse("http://google.com")
    req = Net::HTTP::Get.new(url.path)
    @resp = Net::HTTP.new(url.host, url.port).start {|http| http.request(req)}
  end
end

我的路线是这样的:

get "howdy/show"

我认为这是谎言:

<h1>Howdy#show</h1>
<%= "The call to example.com returned this: #{@resp}" %>

但是当我去http://localhost:3000/howdy/show时,我收到了这个错误

  

HTTP请求路径为空

我是Net :: HTTP的新手,只是想创造一些简单的东西!

2 个答案:

答案 0 :(得分:3)

我会在我的控制器中使用它:

@resp = Net::HTTP.get_response("www.google.com","/")

答案 1 :(得分:3)

使用net/http发送请求:

        uri = URI.parse("http://www.google.com")
        http = Net::HTTP.new(uri.host, uri.port)
        request = Net::HTTP::Get.new(uri.request_uri)
        #This makes the request
        resp = http.request(request)