Якщо я хочу надати веб-сайту відповідний вміст для розташування, якими способами я можу знайти грубе місцезнаходження відвідувача за допомогою їх IP-адреси чи інформації заголовка?
Якщо я хочу надати веб-сайту відповідний вміст для розташування, якими способами я можу знайти грубе місцезнаходження відвідувача за допомогою їх IP-адреси чи інформації заголовка?
Відповіді:
По-перше, ви повинні знати, що точність цих послуг є і завжди буде низькою.
MaxMind Geolite city - безкоштовно . Якщо це недостатньо добре, ви, мабуть, можете перейти на більш точну платну версію. Я не можу говорити за якість платної версії, оскільки я ніколи її не використовував.
Якщо вам подобається ваш SQL, завантажте версію CSV . Завантажте його у вашу базу даних та вибирайте запит.
Більш швидкий і просторний варіант - завантажити файл бінарної версії блобу тієї самої бази даних, а потім використовувати API, специфічний для мови, з того самого веб-сайту, щоб запитувати його.
Крім того, я знайшов ipinfodb.com корисним. Запит здійснюється за допомогою простого HTTP GET. Наприклад, для геолокації stackoverflow.com спробуйте:
http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211
Це поверне файл XML, що містить широту та довготу, що виглядає так:
<Response>
<Ip>69.59.196.211</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>41</RegionCode>
<RegionName>Oregon</RegionName>
<City>Corvallis</City>
<ZipPostalCode>97333</ZipPostalCode>
<Latitude>44.4698</Latitude>
<Longitude>-123.343</Longitude>
</Response>
Місце, з якого можна зробити висновок із IP-адреси, не є надто надійним (тобто воно колись працює).
Якщо ви хочете отримати надійне місцезнаходження, розгляньте API геолокації, який є частиною HTML5 . Зауважте, що не всі веб-браузери підтримують це (поки що).
Опція, яка зосереджена на підтримці мобільних пристроїв, хоча також добре працює на більшості браузерів настільних ПК (крім мого досвіду IE), - це пакет Geo-Location-Javascript, який обробляє згаданий API GeoLocation API HTML5. Я знайшов підтримку браузера для мобільних пристроїв досить бідним для API HTML5 (однак, не дивно, оскільки він все ще знаходиться в чернеті), тому я пішов з цим пакетом.
Результати від пристроїв moblie є досить хорошими в зв'язку зі стільниковим і Wi-Fi (і GPS, якщо у пристрою є). Настільні браузери повідомляють про досить грубозернисту позицію, порівняну з іншими службами.
Ви можете використовувати цю URL-адресу та передавати їй IP-адресу. http://api.hostip.info/get_html.php?ip=84.32.32.44
У Quova http://www.quova.com/ також є сервіс. Я говорив з ними вчора в GeoLoco. За їхніми словами (так візьміть це із зерном солі), вони кажуть, що вони значно кращі у світі, ніж MaxMind. Вони приблизно рівні в Північній Америці.
Майте на увазі, що для мобільних телефонів IP, ймовірно, відображатиметься там, де Оператор має свій шлюз до Інтернету. Ви також можете спробувати скористатися - http://www.loc-aid.com/, якщо ви орієнтуєтесь на мобільні телефони.
Аналітика Google надає основні карти та статистику щодо місцезнаходження вашого відвідувача. Звичайно, ви повинні поділитися цією інформацією з Google ...
ipinfodb.com це добре, але вони в даний час офлайн :(
Я використовую це для своєї api . Це чудово для моєї погоди, але я не знаю, зараз він був офлайн з вчорашнього дня.
Якщо ви хочете надати їм вміст або рекламу на основі їх географічного розташування, ви не можете розраховувати на отримання даних про місцезнаходження з пристрою. Навіть якщо вони є на мобільних телефонах, існує велика ймовірність того, що у них GPS та Wi-Fi вимкнено, і вони повинні дати згоду на надання спільного місцезнаходження.
Це так: "Гей, чи можете ви поділитися своїм місцем розташування зі мною, щоб я міг надати вам вміст та оголошення, які, на мою думку, найбільше пов'язані з вашим географічним місцезнаходженням?" Відповідь: "Ні! Дайте мені найкращий вміст та оголошення, які у вас є"
Єдиний спосіб знайти місцезнаходження, не запитуючи дозволу, через їх IP-адресу. Ви можете встановити базу даних на власному сервері та запросити її, щоб знайти місце розташування ІР-адреси або використовувати зовнішній API, який потрібно запитувати та отримувати результати. Я використовую ipgp геолокацію api і чудово працюю. ( http://www.ipgp.net/ip-address-geolocation-api/ )