1. 参考ip2region项目
这里我们使用github上开源的ip2region项目进行IP地址解析。详细请参考github ip2region
2. 环境准备
pom.xml添加依赖
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>1.7.2</version>
</dependency>
将源码的data/ip2region.db文件,下载到项目的dataset目录下
3. 编写程序
import org.lionsoul.ip2region.{DataBlock, DbConfig, DbSearcher}
import org.springframework.util.StopWatch;
object Ip2RegionTest {
def main(args: Array[String]): Unit = {
val ip = "1.15.255.xxx"
val stopWatch = new StopWatch();
stopWatch.start();
val searcher = new DbSearcher(new DbConfig(), "dataset/ip2region.db")
val dataBlock:DataBlock = searcher.btreeSearch(ip)
// 格式为:国家|区域|省份|城市|运营商
val region:String = dataBlock.getRegion
print(region)
stopWatch.stop();
long totalTimeMillis = stopWatch.getTotalTimeMillis();
}
}
4. 运行程序结果
中国|0|北京|北京市|方正宽带