2012-11-29 65 views
4

我想用Ruby的OpenURI检查是否URL可以正确地访问。所以我想检查它的响应代码(4xx或5xx意味着错误等)是否可以找到它?URI响应代码

回答

18

可以使用status方法返回一个包含状态代码的数组。

require "open-uri" 

open("http://www.example.org") do |f| 
    puts f.base_uri #=> http://www.example.org 
    puts f.status #=> ["200", "OK"] 
end 
+3

请注意,'f.status'返回一个数组,第一个元素是响应代码,第二个元素是响应状态。这两个元素都是Ruby'String's。 – sameers

+2

只是尝试这样做的403和它给出了一个例外,所以我不知道,如果它可以在一般的使用... –