为什么我得到Net :: HTTP“请求路径为空”错误?

时间:2013-04-15 15:03:35

标签: ruby net-http

我正在使用Net :: HTTP发出HTTP请求。我收到错误“HTTP请求路径为空”,但我强烈认为它不是。代码如下:

REQUEST_IP = "localhost"
REQUEST_PORT = "8081"
REQUEST_PATH = "myweb/rest"

def customServiceMailAndMessageRequest user_id, message

  url = 'http://' + REQUEST_IP + ":" + REQUEST_PORT + "/" + REQUEST_PATH + '/users/' + user_id + '/messages/sendMailAndMessage?message=' + message
  uri = URI(url)

  request = Net::HTTP::Get.new(uri.path)
  request['Content-Type'] = 'application/json'
  request['Accept'] = 'application/json'

  response = Net::HTTP.new(uri.host,uri.port) do |http|
    http.request(request)
  end

  puts response

end

错误是:

/usr/lib/ruby/1.8/net/http.rb:1478:in `initialize': HTTP request path is empty (ArgumentError)
    from /usr/lib/ruby/1.8/net/http.rb:1596:in `initialize'

有人能指出我的错误吗?

1 个答案:

答案 0 :(得分:12)

当我没有包含尾随/时,我收到了类似的错误。我一做到了,一切都很好。

根据您分享的信息,我只能假设您的message变量没有。