カレッヂ |
質問者 鴬
投稿日 2004/9/16(木) 03:05:46
Perlについて$ENV{'REMOTE_HOST'}を取得した場合にIPアドレスが取得されてしまいます。 IPアドレスでは何も判断できないので、ホストアドレスがほしいのですが、 何がおかしいのでしょうか? $host = $ENV{'REMOTE_HOST'}; で取得しています。
プロバイダ参照: |
回答者 しあわせのツボ
[削除]
投稿日 2004/9/16(木) 11:24:40
プロバイダはどちらですか? ホスト名の取得はサーバ負荷が大きいため、オフに設定してあるサーバが多いようです。 どうしても必要なら、gethostbyaddrで明示的に逆引をさせると良いかもしれません。 |
質問者 鴬
[削除]
投稿日 2004/9/16(木) 23:37:47
http://www.pf-x.net/ こちらです。 負荷が大きいとはしりませんでした。 gethostbyaddrとは $hostname = &GetHostByAddr($ENV{'REMOTE_ADDR'}); 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; } というやつですか? |
質問者 鴬
[削除]
投稿日 2004/9/16(木) 23:51:24
しあわせのツボさま。 無事ご教授いただいた方法で解決いたしました。 ありがとうございました。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |