Как получить страну по IP не используя базу?

senya

Новичок
Как получить страну по IP не используя базу?

Всем привет!
Как можно узнать страну пользователя (хорошо бы еще и город), если не использовать базу? Может быть есть какие-нить сервисы бесплатные?

Буду очень признателен за ответы.
 

Сергей Тарасов

Профессор
Почему тебе не нравится идея с БД? В свое время я видел в интернете бесплатную достаточно обширную базу сетей по регионам.
 

senya

Новичок
To: Сергей Тарасов
Потому что база весит много, особенно если брать еще и по городам, да и меняются IP время от времени, а каждый раз обновлять базу не получится. (чисто организационные причины)
 

MustDie

Новичок
у masterhost.ru там че то есть...
на mp3real.ru у них скрипт определяющий страну стоял...
было подписанно что взят с masterhost.ru
 

senya

Новичок
To ZN:
Спасибо. Действительно немного, но енто же только страны. А по городам я думаю метров 50 будет. И все -таки интересно неужели нет никаких вэб-сервисов для этого?
 

ZN

Новичок
senya
ну вы сначала и просили по странам
насчёт веб-сервиса - whois обыкновенный
 

kpumuk

Новичок
Есть такой cummunity-based сервис - hostip.info

Документацию по API можно глянуть здесь.
Точность, правда, не слишком высокая... У MaxMind'а на порядок вышел.
 

neko

tеam neko
cummunity-based говоришь? на работе можно открывать?

-~{}~ 07.03.06 11:29:

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

-~{}~ 07.03.06 11:36:

> Точность, правда, не слишком высокая... У MaxMind'а на порядок вышел.

я так понимаю, проекту меньше чем пол года.

-~{}~ 07.03.06 11:44:

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

senya

Новичок
To kpumuk :
Спасибо, это похоже то, что доктор прописал.
 

oxana D

Новичок
Люди, а чем плохо использование такого варианта?

exec("/usr/local/bin/geoiplookup ".$ip,$output,$response);
 

senya

Новичок
To oxana D :
дык база нужна, а она не маленькая
(еси я все правильно понял)
 

oxana D

Новичок
сорри, поясните пожалуста. нашла на хостинге
geoiplookup, проверила - работает. Тоесть база есть? или плохо из-за того что поиск будет тормозить сервак? несмыслю я в freebsd и понятия не имею как именно geoiplookup работает, и ничего путнего не нашла по этому поводу.
 

senya

Новичок
Я сейчас использую hostip.info - вроде бы неплохо работает
 

oxana D

Новичок
Информация к размышлению:

------------------скрипт-------------------------
function getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

$time_start = getmicrotime();

$output=file("http://api.hostip.info/get_html.php?ip=12.215.42.19");

print("Использование host.ip: ".(getmicrotime()-$time_start)." сек<br />");

print_r($output);
print "<br />\n";
$time_start = getmicrotime();

exec("/usr/local/php/bin/whois 12.215.42.19",$output);

print("Использование whois: ".(getmicrotime()-$time_start)." сек<br />");

print_r($output);
print "<br />\n";

$time_start = getmicrotime();

exec("/usr/local/bin/geoiplookup 12.215.42.19",$output);

print("Использование geoiplookup: ".(getmicrotime()-$time_start)." сек<br />");

print_r($output);
------------------------------------------------------

----------результат-------------------------------
Использование host.ip: 0.61849188804626 сек
Array ( [0] => Country: UNITED STATES (US) [1] => City: Sugar Grove, IL )
Использование whois: 0.0038669109344482 сек
Array ( [0] => Country: UNITED STATES (US) [1] => City: Sugar Grove, IL )
Использование geoiplookup: 0.005850076675415 сек
Array ( [0] => Country: UNITED STATES (US) [1] => City: Sugar Grove, IL [2] => GeoIP Country Edition: US, United States )
 

oxana D

Новичок
Гуру клуба объясните почему, whois | geoiplookup очень редко встречается в обсуждениях по этому поводу? чем он плох?
 

SiMM

Новичок
> объясните почему, whois | geoiplookup очень редко встречается в обсуждениях по этому поводу?
Нечасто встретишь человека, задающего вопрос, как это сделать, и имеющего хостинг, где разрешается exec
 
Сверху