ごめんなさい。デスクトップのリンクやファイルを整理(削除)するので、ここに書いて、保存しておこうとしているため、まったく関連のない話題を続けて書きます。
■■ PHPで、IPアドレスからサーバー名を取得
または、サーバー名からIPアドレスを取得
CGI同様、
●IPアドレスからサーバー名を取得
string gethostbyaddr( string ip_address );
●サーバー名からIPアドレスを取得
string gethostbyname( string hostname );
●使い方
このPHPは、引数にipaddr=調べたいIPアドレス とすると、ホスト名を
引数にhost=調べたいホスト とすると、ipアドレスを
いれてくる。ただし、関数的に調べられないと、引数の値を返すようだ。
ソースは、こんなかんじ
<? //------------------------------// // 必要な値の取得 // //------------------------------// // パラメータを配列に入れとく foreach($_POST as $key => $val) { $para[$key] = $val; } foreach($_GET as $key => $val) { $para[$key] = $val; } // ホストとIPアドレス、引数から受け取る $host = $para['host']; $ipaddr = $para['ipaddr']; // ホストとIPアドレス、不明なら受け取る if ( ( $ipaddr != "" ) && ( $host == "" ) ) { $host = gethostbyaddr($ipaddr); } else if ( ( $ipaddr == "" ) && ( $host != "" ) ) { $ipaddr = gethostbyname($host); } // 表示 header("Content-type: text/plain"); header("Cache-control: no-cache"); print("HOST:". $host . "¥n"); print("ipaddr:". $ipaddr . "¥n"); ?> |
(上記の< > ¥ は、本当は半角です)
で、上記のソースを、たとえば、addrchk.phpとかいう名前で、ローカルのhtdocs
においてブラウザから
http://127.0.0.1/addrchk.php?ipaddr=127.0.0.1
とか、
http://127.0.0.1/addrchk.php?host=localhost
とか入れる。
■■ CGIで、ホスト名からIPアドレスを取得する
CGI(perl)の場合もPHP同様、gethostbynameをつかう。
ここ
http://www.7key.jp/program/perl/gethostbyname.html
に詳しいやり方がある。
■■ 日中パソコン辞典
こんなサイトがあった。http://www.qiuyue.com/jc.htm