what uplook track information computer address ip-address geocoding reverse-geocoding

ip-address - uplook - what is ip address



¿Geocodificar una dirección IP? (5)

Aquí hay una pareja con llamadas sencillas ...

Ejemplo de llamadas: -

Ejemplo de XML devuelto (ipinfodb): -

<Response> <Ip>122.169.8.137</Ip> <Status>OK</Status> <CountryCode>IN</CountryCode> <CountryName>India</CountryName> <RegionCode>10</RegionCode> <RegionName>Haryana</RegionName> <City>Kaul</City> <ZipPostalCode></ZipPostalCode> <Latitude>29.85</Latitude> <Longitude>76.6667</Longitude> <Timezone>0</Timezone> <Gmtoffset>0</Gmtoffset> <Dstoffset>0</Dstoffset> </Response>

¿Alguien sabe de alguna API RESTful abierta a la que pueda llamar para geocodificar la IP de un usuario a la latitud y longitud?

Idealmente, sería algo como: http://google.com/geocode_api/?IP=1.2.3.4 y devolvería la latitud y longtitude.


En mi sitio, uso http://ip-api.com/ para obtener la ubicación desde la dirección IP. Tienen lindos límites (hasta 150 pedidos por minuto). Ipinfo.io es gratis solo por menos de 1000 solicitudes por día .

Esta es una salida de muestra:

( [as] => AS8075 Microsoft Corporation [city] => Redmond [country] => United States [countryCode] => US [isp] => Microsoft bingbot [lat] => 47.674 [lon] => -122.1215 [org] => Microsoft bingbot [query] => 157.55.39.67 [region] => WA [regionName] => Washington [status] => success [timezone] => America/Los_Angeles [zip] => 98052 )

Este es el código PHP que puedes usar:

$ip = $_SERVER[''REMOTE_ADDR'']; $result = json_decode(file_get_contents("http://ip-api.com/json/{$ip}")); //print_r ($result); echo "{$result->lat},{$result->lon}";//48.156,17.142


Otra API REST gratuita con información precisa de la ciudad sería http://freegeoip.net Las solicitudes son bastante sencillas. Usarías algo como

http://freegeoip.net/{format}/{ip_or_hostname}

para geocodificar una dirección IP, donde el formato puede ser csv , xml o json . Su sitio web tiene todos los detalles.

[ACTUALIZACIÓN:] FreeGeoIP.net no estuvo continuamente disponible en el pasado como un servicio público. Sin embargo, el software siempre fue de código abierto y está disponible en Github . Es bastante fácil poner en marcha su instalación local usando Docker, si necesita un servicio altamente confiable o su caso de uso excede la cuota actual de 15,000 solicitudes por hora.



Puede utilizar la API de Google: http://code.google.com/apis/ajax/documentation/#ClientLocation

Editar

Ejemplo:

<script type="text/javascript" src="http://www.google.com/jsapi?key=ABCDEFG"></script> <script type="text/javascript"> google.load("maps", "2.x", {callback: initialize}); function initialize() { if (google.loader.ClientLocation) { var lat = google.loader.ClientLocation.latitude; var long = google.loader.ClientLocation.longitude; alert ("lat: " + lat + "/nlong: " + long); } else { alert ("not available"); } }

Al aire libre