La manera más extendida y usual, se recoge la IP de la petición del cliente y mediante el uso de alguna base de datos de IP’s se hace una búsqueda en la misma dando los datos del cliente. El problema de esta función es tener una base de datos completa y actualizada que permita darnos esta información de la manera más exacta y eficaz.
Un buen ejemplo de esto es la BD MaxMind, ofrecen una versión gratuita con soporte para geolocalización a nivel estatal y provincial con una acierto bastante elevado. Para facilitar su uso ofrece librerías y ejemplos en distintos lenguajes como Java, .NET, PHP, javascript, etc...
Para conseguir la IP, basta con recoger la misma de petición web. Para ello usamos las variables del servidor precisas, todos los lenguajes de programación tienen funciones para ello. Ejemplos: