IP地址解析工具类
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>1.7.2</version>
</dependency>
/**
* IP地址解析工具类
*/
object IpUtils {
/**
* IP地址解析为省份和城市
* @param ip ip地址
* @param dbSearcher DbSearcher对象
* @return Region 省份城市信息
*/
def convertIpToRegion(ip: String, dbSearcher: DbSearcher): Region = {
// i. 依据IP地址解析
val dataBlock: DataBlock = dbSearcher.btreeSearch(ip)
// 中国|0|上海|上海市|有线通
val region: String = dataBlock.getRegion
// ii. 分割字符串,获取省份和城市
val Array(_, _, province, city, _) = region.split("\\|")
// iii. 返回Region对象
Region(ip, province, city)
}
}