
Biblioteca IP Geolocation.
Implementado en el lenguaje Delphi, utiliza el concepto de interfaz fluida para guiar el uso de la biblioteca.
La biblioteca se desarrolló utilizando los principales actores del mercado de soluciones "IP-goolation", adjunto a la lista de proveedores aprobados.
La geolocalización basada en la dirección IP es una técnica utilizada para estimar la ubicación geográfica de un dispositivo conectado a Internet utilizando su dirección IP. Este mecanismo depende de que la dirección IP del dispositivo aparezca en una base de datos con su ubicación respectiva, dirección postal, ciudad, país, región o coordenadas geográficas, que son algunos de los niveles de detalle que se pueden registrar.
Para más información: IPS Geolocation
Esta tecnología se usa ampliamente en:
Geo marketing
Dirección de contenido
Control de acceso (contenido/servicios)
Seguridad
| Proveedor | Sitio web | API | Solicitudes gratuitas |
|---|---|---|---|
| Ip2location | https://www.ip2location.com | https://api.ip2location.com/v2 | 10,000 años |
| Ipgeolocation | https://ipgeolocation.io | https://api.ipgeolocation.io/ipgeo | 1.500 diarios |
| Ipstack | https://ipstack.com | http://api.ipstack.com | 10,000 mensuales |
| Ipificar | https://geo.ipify.org | https://geo.ipify.org/api/v1 | 1,000 mensuales |
| Ipapi | https://ipapi.com | http://api.ipapi.com/api | 10,000 años |
| Ipinfo | https://ipinfo.io | https://ipinfo.io | 50,000 mensuales |
| Ipgeolocationapi | https://ipgeolocationapi.com | https://api.ipgeolocationapi.com/geolocate | Ilimitado |
| Ipwhois | https://ipwhois.io | http://ipwhois.app | 10,000 mensuales |
| Ipdig | https://ipdig.io | https://ipdig.io | Ilimitado |
| Ipdata | https://ipdata.co | https://api.ipdata.co | 1.500 diarios |
| Iplabstack | https://labstack.com/ip | https://ip.labstack.com/api/v1 | 10,000 mensuales |
| Iptwist | https://iptwist.com | https://iptwist.com | 1,000 mensuales |
| IP-API | https://ip-api.com | http://ip-api.com | Ilimitado |
| DB-IP | https://db-ip.com | http://api.db-ip.com/v2 | Ilimitado |
Usando Boss (Dependency Anager para Delphi) puede instalar la biblioteca automáticamente.
boss install github.com/antoniojmsjr/IPGeoLocation
Proyecto> Opciones> Compilador Delphi> Target> Todas las configuraciones> Ruta de búsqueda
..IPGeoLocationSource
uses IPGeoLocation, IPGeoLocation.Interfaces, IPGeoLocation.Types; var
lMsgError: string;
lGeoLocation: IGeoLocation;
begin
try
lGeoLocation := TIPGeoLocation.New
.IP[ ' 201.86.220.241 ' ]
.Provider[TIPGeoLocationProviderKind.IPInfo]
// .SetTimeout(5000) //[OPCIONAL]
// .SetAPIKey('TOKEN') //[OPCIONAL]: VERIFICAR ARQUIVO: APIKey.inc
.Request
// .SetResultLanguageCode('pt-br') //[OPCIONAL]
.Execute;
Application.MessageBox(PWideChar(lGeoLocation.ToJSON), ' JSON ' , MB_OK + MB_ICONINFORMATION); // JSON COM O RESULTADO DA GEOLOCALIZAÇÃO
except
on E: EIPGeoLocationRequestException do
begin
lMsgError := Concat(lMsgError, Format( ' IP: %s ' , [E.IP]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' IPVersion: %s ' , [E.IPVersion]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Provider: %s ' , [E.Provider]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' DateTime: %s ' , [DateTimeTostr(E.DateTime)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Kind: %s ' , [E.Kind.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' URL: %s ' , [E.URL]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Method: %s ' , [E.Method]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Code: %d ' , [E.StatusCode]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Text: %s ' , [E.StatusText]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %s ' , [E.Message]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
end ;
end ;
end ;

IPGeoLocation es un software gratuito y de código abierto con licencia bajo el