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

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

相关推荐
逻辑驱动的ken4 分钟前
Java高频面试考点场景题22
java·开发语言·jvm·面试·职场和发展·求职招聘·春招
小则又沐风a10 分钟前
list模拟实现
java·服务器·list
上弦月-编程13 分钟前
C语言链表详解,新手也能看懂! ——从入门到精通的完整教程
java·c语言·c++
ffqws_26 分钟前
Spring Boot 配置读取全解析:从 application.yml 到 Java 对象的完整链路
java·数据库·spring boot
clear sky .27 分钟前
【TCP】TCP数据粘包/分包问题
java·服务器·网络
云烟成雨TD28 分钟前
Spring AI 1.x 系列【29】Embedding Model(嵌入模型)
java·人工智能·spring
幸福巡礼37 分钟前
【 LangChain 1.2 实战(四)】构建一个模块化的天气查询 Agent
java·前端·langchain
wuminyu10 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
不会敲代码111 小时前
TCP/IP 与前端性能:从数据包到首次渲染的底层逻辑
前端·tcp/ip
callJJ11 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring