文章目录
介绍
ip2region
是一个基于IP
地址的定位库,它可以将IP
地址转换为国家、省份、城市、区域
、运营商等信息。它的数据源来源于纯真IP库和GeoLite2
数据库,数据准确性高,更新频率也比较快。ip2region
支持多语种编程语言,包括Java
,PHP
,Python
,C
等,可以方便地集成到各种应用中。它的使用方法也非常简单,只需要将IP
地址传入相应的函数即可获取对应的信息。ip2region
在网站访问统计、广告投放、反欺诈等领域有这广泛的应用。
实践
pom.xml依赖配置
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>2.7.0</version>
</dependency>
示例代码
@RunWith(JUnit4.class)
public class Ip2regionTest {
@SneakyThrows
@Test
public void test() {
String ip = "192.168.3.1";
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("ip2region.xdb");
byte[] byteArray = IOUtils.toByteArray(resourceAsStream);
Searcher searcher = Searcher.newWithBuffer(byteArray);
String search = searcher.search(ip);
System.out.println(search);
System.out.println(Arrays.asList(search.split("\\|")));
String search1 = searcher.search("180.101.50.188");
System.out.println(Arrays.asList(search1.split("\\|")));
}
}
运行结果如下:
示例代码
https://gitee.com/youxiaxiaomage/java-practices/tree/master/yxxmg-ip2region-sample