whoisを手元に:ドメインについての情報を得られる、whois。あちこちにありますよね。簡易形式でそれをこのブログに設置。PEAR利用すればカンタン ・・・ 【創ったmetaboy】
2009-04-23
whois。・気になったドメインの情報調べたり、
・自分で所有するドメインの公開情報を確認
など、利用すること、案外多いですね。
そのたびに、
・プロバイダの用意するサービスに行ったり
・お名前.com 利用したり
・(たまには)コマンド で whois 打ったり。
もうやめよう・・・
PEARを利用すれば簡単に、自分で創れるのだ。
whois検索。

さっそく・・・
追記に ▼



◎ ササッとちょこっと Whois情報を得る!
************************************************
最初に、企画仕様。
とにかく、凝ったものではなく、カンタンに。
※とてもすべてのドメインを網羅できない。
よく目に付くもの中心に
ワンクリック表示、目指す。
◆仕様策定◆
・ドメインをセットして
・ボタンクリックで
別ウインドウに、シンプルなテキストで表示
・ドメインをセットして
・ボタンクリックで
別ウインドウに、シンプルなテキストで表示
※別ウインドウ表示は、
ポップアップブロック の影響受けるけど・・・
■実際の構築
先に
whois 情報を得るのは・・・と。
******************************
□PHP で、PEAR を利用する
******************************
・これは、驚くほどカンタンだ。
【PEAR にてライブラリインストール】
Net_Socket も必要なのだけど、これはすでに
入っている。、
pear install Net_Whois
【サンプル】
この、PHP/PEAR を利用した
whois情報の検索例(サンプル)は、
基本的な形がマニュアルにも用意されている。
>> Net_Whois マニュアル
<?php
require_once "Net/Whois.php";
$server = "whois.denic.de";
$query = "phpcrawler.de"; // このドメインについての
// 情報を検索する
$whois = new Net_Whois;
$data = $whois->query($query, $server);
echo $data;
?>
しか~し!
ここでの、$server = "whois.denic.de"; は
調べるドメインによって違うのだ。
この情報を調べるのに、難儀したよ、ホント。
【whois で調べるサーバー列挙】
結局、ある程度ドメインを限定して
このような。配列を用意。
$servers = array(
"jp" => "whois.jprs.jp",
"co.jp" => "whois.jprs.jp",
"or.jp" => "whois.jprs.jp",
"com" => "whois.verisign-grs.com",
"net" => "whois.verisign-grs.com",
"org" => "whois.publicinterestregistry.net",
"info" => "whois.afilias.info",
"biz" => "whois.neulevel.biz",
"cc" => "whois.nic.cc",
"tv" => "whois.nic.tv"
);
それに「でたらめ」のドメインで
トラフィック消費するのは、どうもねぇ。
【MX レコードを取得】
PHP の getmxrr 利用して
あらかじめ、DNS登録あるかどうかを調べておく
>> getmxrr マニュアル
※getmxrr が使えることはわかっていたので・・・
function CkDomain($domain){
if (!(getmxrr($domain, $mxhosts))){ return false;
} else { return true; }
}function CkDomain($domain){
if (!(getmxrr($domain, $mxhosts))){ return false;
} else { return true; }
}【得られた情報をコールバック関数付きで返す】
今まで創ってきたやり方を生かして
得た情報を、javascriptの関数でecho する
php ファイルとしてまとめておく。
$servers = array(
"jp" => "whois.jprs.jp",
"co.jp" => "whois.jprs.jp",
"or.jp" => "whois.jprs.jp",
"com" => "whois.verisign-grs.com",
"net" => "whois.verisign-grs.com",
"org" => "whois.publicinterestregistry.net",
"info" => "whois.afilias.info",
"biz" => "whois.neulevel.biz",
"cc" => "whois.nic.cc",
"tv" => "whois.nic.tv"
);
$server = $servers[$cojp];
$query = $temp_domain;
$whois = new Net_Whois;
$data = $whois->query($query, $server);
$data = mb_convert_encoding($data, "utf-8", "auto");
$data = rawurlencode($data);
}else{
if($tempstr_mes!=''){
$tempstr_mes = rawurlencode($tempstr_mes);
echo "JavaScript:CallBack_easywhois(-1,'".$tempstr_mes."');";
}
echo で返す前に
・rawurlencodeでちゃんとエンコードすること
・何か問題あれば、フラグ含み(-1)、返す
ところがポイント、かな。
【javascript 側では・・・】
コールバック関数を用意していて
function CallBack_easywhois(rt,arg){
if(arg!=''){
arg = decodeURIComponent(arg);
if(rt==1){
var form = this.document.forms['rtform_easywhois']; // フォームオブジェクト
form.val_rtform_easywhois.value=arg;
form.target="_blank";
form.submit();
}else{
alert(arg);
}
}
}こちらのポイントは
・別ウインドウは
getではなく、form の target で開くところ。
(POSTで送るためでもあるけど)
その他、
・ブログ形式で、javascript 利用した組み込み方も
今までと同じだ。
なお、今回の制作においても
・フリー素材を利用。
前に
・iconPot:もう、いろいろとサイトを廻り、フリーアイコンを求める必要もすくなくなりそう!? 2500点以上のセンスあるアイコン配布サイト ・・・ 【Web素材】
として紹介した iconPot から
・注意アイコンを利用させていただき組み込んでおいた。
※利用する際には、
ポップアップブロックに引っかかると思うので、
許可してもらった上で、
・[Ctrl]キーを押しながら、
・マウスクリックしてもらわなければ。
さて、
■公開
□このブログ右サイドに用意
(一番下)
※いつものように、別ウインドウで開くものも用意
した。
ん~ん。ちと 貼りすぎかな。
