ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

PHPでIPアドレスからサーバー名を取得、またはその逆をする方法と、中国語パソコン辞典


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



■■ 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