2011-01-11 7 views

答えて

0

「オンライン」とは何を意味するのか、またpingが無効になっていないかによって異なります。

system('ping hostname') 

また、組み込みシステムツールのすべてのフィードバックにアクセスできます。

2

@JacobRelkinが答えを見つけたので、私は投稿します。ドメイン名にプロトコルを含める必要があることに注意してください。

require 'net/http' 
require 'uri' 

def website_online?(site_url) 
    begin 
     url = URI.parse(site_url) 
     res = Net::HTTP.start(url.host, url.port) {|http| 
     http.get('/') 
     } 
     res.body.length > 0 
    rescue 
     false 
    end 
end 

p website_online?('phrogz.net') 
#=> false 

p website_online?('http://phrogz.net') 
#=> true 
+0

ちょっと!!!私はirbで自分の答えをテストしていたので、私は奇妙な結果を得ていたので、私はそれをつまんだ。 –

+0

@JacobRelkinあなたが価値があると思うなら、ぜひそれを投稿してください。私はこの回答をまとめて削除し、あなたの投票に再度投票します。私のテストではうまくいくように見えたので、OPがうまくいっていないとは思わなかった。絶対に意図した犯罪はありません。私はあなたがなぜあなたをヤンクしたのか疑問に思いました。 – Phrogz

関連する問題