通过IP来获取访问者的地理位置
程序员文章站
2024-02-09 16:41:16
...
这里使用ip2region来识别ip
首先得下载IP库 ip2region.db
下载链接:https://gitee.com/lionsoul/ip2region/tree/master/data
其次是引入maven依赖(版本1.7; 版本1.4有问题)
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>1.7</version>
</dependency>
具体代码实现
public class Ip2RegionTest {
public static void main(String[] args){
//ip
String ip="172.16.11.144";
// 判断是否为IP地址
boolean isIpAddress = Util.isIpAddress(ip);
//ip和long互转
long ipLong = Util.ip2long(ip);
String strIp = Util.long2ip(ipLong);
//根据ip进行位置信息搜索
DbConfig config = new DbConfig();
//获取ip库的位置(放在src下)(直接通过测试类获取文件Ip2RegionTest为测试类)
String dbfile = Ip2RegionTest.class.getResource("/ip2region.db").getPath();
DbSearcher searcher = new DbSearcher(config, dbfile);
//采用Btree搜索
DataBlock block = searcher.btreeSearch(ip);
//打印位置信息(格式:国家|大区|省份|城市|运营商)
System.out.println(block.getRegion());
//进行截取
block.getRegion().split("\\|");
}
}
上一篇: 第十一章
下一篇: centos7下perl的升级安装
推荐阅读