我试图使用Ruby通过HTTP加载网页并检查其状态码是什么。我的代码如下所示:加载网页时:“undefined method`request_uri'为#”
require "net/http"
@r = Net::HTTP.get_response(URI.parse(myURL))
return @r.code
然而,对于某些URL(主要是那些指着如网站计数器,将无法给出正确的响应奇怪的东西),我发现了一个undefined method request_uri for #
例外。我追查回线http.rb 380(我运行的Ruby 1.8),在那里说:
def HTTP.get_response(uri_or_host, path = nil, port = nil, &block)
if path
host = uri_or_host
new(host, port || HTTP.default_port).start {|http|
return http.request_get(path, &block)
}
else
uri = uri_or_host
new(uri.host, uri.port).start {|http|
return http.request_get(uri.request_uri, &block) <--- LINE 380
}
end
end
,我完全迷失了方向,以什么导致此异常。我期望URI::InvalidURIError
,但不是这样。
这不是一个答案,所以我把它作为评论发布。我在将Rails 3.0应用程序转换为Rails 3.1应用程序时遇到了以下错误:session [:return_to] = request.request_uri – Docunext 2011-09-10 14:28:38