用到两款工具, geoip-api 这个可以根据IP获取城市以及经纬度 但是获取的城市是拼音不是汉字 导致山西和陕西的拼音相同 无法分辨,所以引入第二款工具ip2region 可以根据ip获取到具体的省市IP供应商名称 格式如:中国|0|上海|上海市|联通
1.pom依赖和所需要的数据文件GeoLiteCity-2013-01-18.dat【下载地址 https://dev.maxmind.com/geoip/geoip2/geolite2/】 与 ip2region.db【下载地址https://gitee.com/lionsoul/ip2region/tree/v1.6.1-release】 放到/resources目录下就行了
<!--地理位置获取与用户Agent工具-->
<dependency>
<groupId>com.maxmind.geoip</groupId>
<artifactId>geoip-api</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</depend

本文介绍了如何利用geoip-api和ip2region工具根据IP地址获取城市名称及经纬度。geoip-api返回的城市为拼音,而ip2region能提供具体的中文省市和运营商信息,解决相似拼音城市区分问题。通过添加pom依赖和数据文件,以及配置工具类,可以方便地进行IP查询操作。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



