ip获取城市省份信息

最近突然用到 ip获取城市省份信息这些,不想使用api,长话短说,以下是实现方法

首先在maven中引入如下包。

java 复制代码
 <dependency>
            <groupId>org.lionsoul</groupId>
            <artifactId>ip2region</artifactId>
            <version>2.7.0</version>
        </dependency>

我这边使用工具类进行的去进行,让需要用到的地方进行直接使用,在代码中的xdb文件是ip地理位置信息的数据库文件,目前放在本地的

java 复制代码
@Slf4j
public class Ip2RegionUtil {

    public static String findByIp(String ip) {
        InputStream inputStream = null;
        try {
            inputStream = new ClassPathResource("/ipdb/ip2region.xdb").getInputStream();
        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }
        byte[] dbBinStr = null;
        try {
            dbBinStr = FileCopyUtils.copyToByteArray(inputStream);

            Searcher searcher = Searcher.newWithBuffer(dbBinStr);
            return searcher.search(ip);
        } catch (Exception e) {
            log.error("ip转换异常【{}】,【{}】",ip,e);
            return "未知ip";
        }finally {
            try {
                inputStream.close();
            } catch (IOException e) {
                log.error("关闭ip2.xdb流异常【{}】",e.getMessage());
            }
        }
    }

以上即可实现ip获取城市的省份信息了。 切记如果是maven项目 pom 文件中记得将xdb文件放开不要一起打包

xdb 文件路径 ip2region/binding at master · lionsoul2014/ip2region · GitHub

或在联系我,我这儿也可以给

相关推荐
代码or搬砖1 天前
Java集合-Set讲解
java·开发语言
渣娃-小晴晴1 天前
java集合在并发环境下应用时的注意事项
java·后端
北极糊的狐1 天前
若依系统报错net::ERR_CONNECTION_TIMED_OUT的原因
java·windows·sql·mybatis
FLGB1 天前
maven漏洞检测报告
java·maven
老蒋新思维1 天前
创客匠人:认知即资产 ——AI 时代创始人 IP 知识变现的底层逻辑
网络·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
农夫山泉2号1 天前
【c++】——c++编译的so中函数有额外的字符
java·服务器·c++
wangan0941 天前
不带圆圈的二叉树
java·前端·javascript
小马哥编程1 天前
【软考架构】滑动窗口限流算法的原理是什么?
java·开发语言·架构
饕餮争锋1 天前
Spring AOP原理简析
java·spring
okseekw1 天前
Maven从入门到实战:核心概念+配置详解+避坑指南
java·后端