2012-11-29 91 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和它給出了一個例外,所以我不知道,如果它可以在一般的使用... –