update tutorial sistema para operativo node instalar ejemplos actualizar node.js geolocation ip node-modules maxmind

tutorial - ¿El mejor módulo node.js para encontrar la ubicación?



sistema operativo para node js (3)

Encontré un par de módulos node.js para encontrar la información sobre la ubicación del cliente y la red utilizando la dirección ip.

Requisitos:

  1. Ubicación - país, ciudad, estado, latitud, longitud, etc.

  2. Red: proveedor de servicios de Internet, tipo de conexión a Internet y velocidad de Internet, etc.

  3. Precisión de los datos - posibilidad máxima.

Nota: Buscando la solución del lado del servidor.

Los módulos antes mencionados utilizan datos de maxmind . Y también había leído sobre la precisión de los datos de maxmind .

Estoy un poco confundido al elegir los módulos anteriores de node.js y me gustaría saber si hay mejores frameworks de node.js disponibles para encontrar información que cumpla con mis requisitos o cualquier otro complemento de idioma que pueda ser portable a node.js.

Cualquier idea será agradecida.


El uso de la geolocalización basada en IP es posible, pero no muy preciso. Por lo tanto, le sugiero que piense en adoptar un enfoque híbrido, como intentar obtener la ubicación de los usuarios a través de la API de geolocalización HTML5 dentro del navegador y realizar una copia de seguridad hacia el lado del servidor si es necesario.

Eché un vistazo a los dos módulos de ubicación / geoip más utilizados disponibles para node.js y ambos usan los conjuntos de datos proporcionados por MaxMind. AFAIK, debe mantener estas bases de datos actualizadas de forma manual, lo cual es una clara decepción. Así que puede considerar escribir un pequeño servicio / script de sincronización, que actualiza la base de datos una vez al mes. (Más información sobre la solución gratuita de MaxMinds se puede encontrar here ).

kuno/GeoIP es un enlace GeoIP, por lo que en su núcleo está usando la biblioteca libGeoIP C, lo cual está bien, pero tal vez no sea tan portátil como lo ofrece la implementación de JavaScript puro bluesmoon/node-geoip . Ambos están bien y depende de ti qué biblioteca te gusta más. En términos de rendimiento, tiene que hacer algunos benchmakrs (si este tema le interesa) ... No hay una respuesta general a la pregunta, qué tipo de módulo (enlace C / nativo) será más rápido.

Si está dispuesto a gastar unos cuantos dólares, también puede consultar el servicio web de MaxMinds , que es una API REST simple y será la forma más precisa de hacerlo. La documentación es bastante buena, así que comenzar con eso no será un problema.


Puede obtener toda la información que busca de mi API en http://ipinfo.io API:

$ curl ipinfo.io { "ip": "67.188.232.131", "hostname": "c-67-188-232-131.hsd1.ca.comcast.net", "city": "Mountain View", "region": "California", "country": "US", "loc": "37.4192,-122.0574", "org": "AS7922 Comcast Cable Communications, Inc.", "postal": "94043" }

Es compatible con JSONP y CORS, por lo que puede usarlo en el servidor o en el lado del cliente. Más detalles están disponibles en http://ipinfo.io/developers


Si obtiene la IP, siempre puede llamar a un servicio externo para obtener la información de ubicación, como freegeoip.net y mediante el módulo de solicitud.

(ip, location) -> url = ''http://freegeoip.net/json/'' + ip request.get url, (error, response, body) -> if !error && response.statusCode == 200 data = JSON.parse body location data

Para las informaciones de la red, no tengo una solución, pero estoy buscando una también.