Forum Webscript.Ru

Программирование => Perl => Тема начата: Timofey от 18 Мая 2001, 16:38:08

Название: как узнать имя носта
Отправлено: Timofey от 18 Мая 2001, 16:38:08
как узнать имя носта,если к серверу обращаются из локальной сети,строка
$ENV{\'REMOTE_HOST\'} не помогает,хотя $ENV{\'REMOTE_ADDR\'} работает нормально
в чем беда?
Название: как узнать имя носта
Отправлено: Аналитик от 18 Мая 2001, 17:43:56
Цитировать
Timofey (18-05-2001 16:38):
как узнать имя носта,если к серверу обращаются из локальной сети,строка
$ENV{\'REMOTE_HOST\'} не помогает,хотя $ENV{\'REMOTE_ADDR\'} работает нормально
в чем беда?

Блин, та же проблема. Задавал этот вопрос в соседнем топике, так никто же не ответил. Пока ждал, появились некоторые наработки.
По-моему, определять имя хоста нужно через сокеты. Вот пример скрипта, у меня на компе он выводит его имя, а в инете почему-то не работает. Посмотри, что нужно доработать, напиши, если получится....

use Socket;
socket(SOCK, AF_INET, SOCK_STREAM, getprotobyname(\'tcp\'));
$host = gethostbyaddr($query, AF_INET);
close(SOCK);

Или вот так:
use Sys::Hostname;
$host = hostname();