ごめんなさい。デスクトップのリンクやファイルを整理(削除)するので、ここに書いて、保存しておこうとしているため、まったく関連のない話題を続けて書きます。
■■ 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