hostip.infoは,IPアドレスから国名や都市名を調べてくれる便利なサイトです。これを使って,コマンドラインからURLを入力すると,そのサーバが存在する国名,都市名を表示するスクリプトを作ってみました。
hostipinfo.rb
require 'net/http' require 'socket' if ARGV.length == 0 puts "Usage: ruby #{$0} url" exit 0 end url = ARGV[0] ipaddr = IPSocket.getaddress(url) Net::HTTP.version_1_2 Net::HTTP.start('api.hostip.info', 80) { |http| response = http.get('/get_html.php?ip=' + ipaddr) puts response.body }
実行結果
$ ruby hostipinfo.rb www.google.com Country: UNITED STATES (US) City: Mountain View, CA IP: 66.249.89.104 $ ruby hostipinfo.rb www.ruby-lang.org Country: JAPAN (JP) City: (Unknown city) IP: 221.186.184.68