IPアドレスからホスト名を取得するサブルーチンです。

■ サブルーチン名

GetHostByAddr

■ 引数

  1. 環境変数 REMOTE_ADDR の内容

■ 戻値(配列)

  1. HOST名

■ 使い方

$hostname = &GetHostByAddr($ENV{'REMOTE_ADDR'});

■ 説明

 環境変数 REMOTE_ADDR の値から、ホスト名を取得します。環境変数 REMOTE_HOST が取得できないサーバ環境でお使いください。「$ENV{'REMOTE_ADDR'}」の代わりに、IPアドレスをそのまま入れても問題ありません。

たとえば、

$addr = '210.152.236.50';
$host = &GetHostByAddr($addr);

すると、$host には、「www.yahoo.co.jp」が入ります。

 

■ サブルーチン

sub GetHostByAddr {
	my($ip_address) = @_;
	my(@addr) = split(/\./, $ip_address);
	my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
	my($name, $aliases, $addrtype, $length, @addrs);
	($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
	return $name;
}

戻る

会社案内 | 特定商取引法に基づく表示 | プライバシーポリシー | 当サイトへのリンクについて | お問い合わせ