Автор Тема: Как по IP адресу узнать город посетителя?  (Прочитано 15929 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ilya_shipilov

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://nskbase.ru
Как по IP адресу узнать город посетителя?
« Ответ #15 : 11 Декабря 2002, 09:35:17 »
Tronyx  Есть базы по странам и городам России. Напиши - вышлю. mailto:shipilov@nskbase.ru

Оффлайн Venus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://venus-design.com
Как по IP адресу узнать город посетителя?
« Ответ #16 : 26 Января 2004, 11:04:27 »
2ilya_shipilov:
Вышли пожалуйста эти базы на karim@venus-design.com
Писал тебе на мыло - сообщение не дошло

Оффлайн nobody

  • вроде как одушевленный
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.n0b0dy.ru
Как по IP адресу узнать город посетителя?
« Ответ #17 : 26 Января 2004, 12:12:17 »
Для начала
http://www.arin.net
http://www.ripe.net
http://lacnic.net/
http://www.apnic.net/

На все сервисы можно обращаться сколько угодно, у них нет ограничений.

Самая нормально выводимая информация это у arin.net
легко выделяется штат и город, но и там бывают непредсказуемые случаи...


<?php
$city_ru
[1] = "St.Petersburg";
$city_ru[2] = "Moscow";
$city_ru[3] = "Ekaterinburg";
$city_ru[4] = "Saint-Petersburg";
$city_ru[5] = "Chelyabinsk";
$city_ru[6] = "Nizhny Novgorod";
$city_ru[7] = "Samara";
$city_ru[8] = "Rostov-on-Don";
$city_ru[9] = "Miass";
$city_ru[10] = "Izhevsk";
$city_ru[11] = "Krasnodar";
$city_ru[12] = "Tomsk";
$city_ru[13] = "Taganrog";
$city_ru[14] = "Vladivostok";
$city_ru[15] = "Omsk";
$city_ru[16] = "Irkutsk";
$city_ru[17] = "Shadrinsk";
$city_ru[18] = "Tver";
$city_ru[19] = "Novosibirsk";
$city_ru[20] = "St. Petersburg";
$city_ru[21] = "Astrakhan";
$city_ru[22] = "Surgut";
$city_ru[23] = "Tatarstan";
$city_ru[24] = "Kaliningrad";
$city_ru[25] = "Perm";
$city_ru[26] = "Syktyvkar";
$city_ru[27] = "Ufa";
$city_ru[28] = "Voronezh";
$city_ru[29] = "Arkhangeslk";
$city_ru[30] = "Kursk";
if (
$ip!="")
{
	
$sock=fsockopen ("whois.ripe.net",43,$errno,$errstr);
	
if(!
$sock)
	
{
	
}
	
else
	
{
	
	
fputs ($sock,$ip."\\r\\n");
	
	
while(!
feof($sock))
	
	
{
	
	
	
$str[$i++] = fgets($sock,1024);
	
	
}
	
}
	
fclose ($sock);
}
for(
$a 0$a <= count($str); $a++)
{
	
for(
$s 1$s <= count($city_ru); $s++)
	
{
	
$strr[] = substr(strstr($str[$a],$city_ru[$s]),0,strlen($city_ru[$s]));
	
}
}
$strr array_values(array_unique($strr));
if(
$strr[1] == "Saint-Petersburg" || $strr[1] == "St. Petersburg")
{
	
$strr[1] = "St.Petersburg";
}
$city strtolower($strr[1]);
?>

это для россии, но и в нем есть глюки...
но все равно попадаются странности...
« Последнее редактирование: 26 Января 2004, 12:22:52 от nobody »
.::dO_ob::.

Оффлайн nobody

  • вроде как одушевленный
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.n0b0dy.ru
Как по IP адресу узнать город посетителя?
« Ответ #18 : 26 Января 2004, 12:14:30 »
Я не притендую на самый лучший и оптимизированный код, он просто работает.
.::dO_ob::.

Оффлайн nobody

  • вроде как одушевленный
  • Постоялец
  • ***
  • Сообщений: 218
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.n0b0dy.ru
Как по IP адресу узнать город посетителя?
« Ответ #19 : 26 Января 2004, 12:20:43 »
чуть не забыл,
в arin.net очень часто выдает то что IP некой подсетке если интересно то выложу как это решается.
.::dO_ob::.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28