웹 사이트에 적절한 콘텐츠를 제공하려면 IP 또는 헤더 정보를 사용하여 방문자의 대략적인 위치를 찾는 데 어떤 방법을 사용할 수 있습니까?
웹 사이트에 적절한 콘텐츠를 제공하려면 IP 또는 헤더 정보를 사용하여 방문자의 대략적인 위치를 찾는 데 어떤 방법을 사용할 수 있습니까?
답변:
첫째, 이러한 서비스의 정확성이 항상 낮다는 것을 알아야합니다.
MaxMind Geolite 도시 는 무료 입니다. 충분하지 않으면보다 정확한 유료 버전으로 업그레이드 할 수 있습니다. 나는 결코 그것을 사용하지 않았기 때문에 유료 버전의 품질에 대해 말할 수 없습니다.
SQL이 마음에 드시면 CSV 버전을 다운로드하십시오 . 선택한 데이터베이스에로드하고 쿼리하십시오.
더 빠르고 공간 효율적인 옵션은 동일한 데이터베이스 의 파일 이진 Blob 버전 을 다운로드 한 다음 같은 웹 사이트에서 언어 별 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에서 유추 할 수있는 위치는 매우 신뢰할 수 없습니다 (예 : 가끔 작동 함).
안정적인 위치를 원한다면 HTML5의 일부인 지리적 위치 API 를 고려하십시오 . 그러나 모든 웹 브라우저가 지원하지는 않습니다 (아직).
모바일 지원에 중점을 둔 옵션은 대부분의 데스크톱 브라우저에서도 잘 작동하지만 (내 경험으로는 IE 제외) HTML5 GeoLocation API Sean을 언급 한 Geo-Location-Javascript 패키지입니다. HTML5 API에 대한 모바일 브라우저 지원이 매우 열악하다는 것을 알았습니다 (아직 초안이므로 놀랍지는 않습니다). 그래서이 패키지를 사용했습니다.
moblie 장치의 결과는 셀 및 WiFi 연결 (및 장치가있는 경우 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과 공유해야합니다.
지리적 위치를 기반으로 콘텐츠 나 광고를 제공하려는 경우 기기에서 위치 데이터를 가져올 수 없습니다. 휴대 전화를 사용하더라도 GPS와 Wi-Fi를 사용 중지했을 가능성이 높으며 위치 공유에 동의해야합니다.
"저는 귀하의 위치를 나와 공유하여 귀하의 지리적 위치와 가장 관련이 있다고 생각되는 콘텐츠와 광고를 제공 할 수 있습니까?" 응답 : "아니요! 최고의 콘텐츠와 광고를 제공해주세요."
권한을 요청하지 않고 위치를 찾는 유일한 방법은 IP 주소를 통하는 것입니다. 자체 서버에 데이터베이스를 설치하고 쿼리하여 IP 주소의 위치를 찾거나 쿼리하고 결과를 가져 오는 외부 API를 사용할 수 있습니다. ipgp 지리적 위치 API를 사용하고 훌륭하게 작동합니다. ( http://www.ipgp.net/ip-address-geolocation-api/ )