美文网首页
使用 GeoLite 实现IP精准定位(Java实现)

使用 GeoLite 实现IP精准定位(Java实现)

作者: Kjiang | 来源:发表于2015-11-29 20:03 被阅读3211次

maxmind提供的免费GeoLite数据库可以使我们简单方便的对 全球ip 进行过定位。下面介绍使用方法 参考自官方, 写下来留着以后备用:

1 下载mmdb文件数据库和添加依赖

GeoLite2.mmdb官方下载地址

如果官方下载较慢的话也可以使用百度云地址

Maven依赖

<dependency> 
    <groupId>com.maxmind.geoip2</groupId> 
    <artifactId>geoip2</artifactId>
    <version>v2.3.0</version>
</dependency>

2 使用

//GeoIP2-City 数据库文件
File database = new File("/path/to/GeoIP2-City.mmdb");

// 创建 DatabaseReader对象
DatabaseReader reader = new DatabaseReader.Builder(database).build();

InetAddress ipAddress = InetAddress.getByName("128.101.101.101");

CityResponse response = reader.city(ipAddress);

Country country = response.getCountry();
System.out.println(country.getIsoCode());            // 'US'
System.out.println(country.getName());               // 'United States'
System.out.println(country.getNames().get("zh-CN")); // '美国'

Subdivision subdivision = response.getMostSpecificSubdivision();
System.out.println(subdivision.getName());    // 'Minnesota'
System.out.println(subdivision.getIsoCode()); // 'MN'

City city = response.getCity();
System.out.println(city.getName()); // 'Minneapolis'

Postal postal = response.getPostal();
System.out.println(postal.getCode()); // '55455'

Location location = response.getLocation();
System.out.println(location.getLatitude());  // 44.9733
System.out.println(location.getLongitude()); // -93.2323

参考

[1] geolite2-开源数据库
[2] GeoIP2 Java API

相关文章

  • 使用 GeoLite 实现IP精准定位(Java实现)

    maxmind提供的免费GeoLite数据库可以使我们简单方便的对 全球ip 进行过定位。下面介绍使用方法 参考自...

  • Day20 Java网络编程

    java如何实现的网络通信 1.使用IP地址---定位一台主机 使用端口号---定位一个应用 ===>InetAd...

  • 实现经典三列布局

    使用定位实现 使用浮动实现

  • ipv4转整数

    IP与整数互转,C语言实现 IP 与整数互转,JAVA语言实现

  • 再回首-百度高精度IP定位服务

    ip定位历史 关于IP定位,最早是通过运营商实现,每个运营商申请到的ip段,在某个范围内使用。因此早期只能是国家为...

  • 网络编程基本原理

    java.net 提供实现网络应用程序的类 常见类InetSocketAddress : 实现IP套接字地址(IP...

  • php实现IP定位

    注册成为百度用户,成为地图开放平台开发者,获取服务密钥。通过百度地图API接口获取经纬度,进而通过API接口进行全...

  • IP地址定位 API 接口

    IP地址定位 API 接口 根据 IP 地址进行定位查询。 1. 产品功能 提供精准、高效的 IP 地址定位查询;...

  • 定位

    定位 1.实现定位功能 在iOS中使用定位功能,需要导入CoreLocation.h文件,其实现定位功能的步骤如下...

  • Java IO的基础操作书目录

    Java实现创建文件 Java重命名文件 Java实现删除文件 Java使用NIO删除文件 通过BufferedI...

网友评论

      本文标题:使用 GeoLite 实现IP精准定位(Java实现)

      本文链接:https://www.haomeiwen.com/subject/qnqjhttx.html