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

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

相关推荐
数智化管理手记35 分钟前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
cfm_29141 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统2 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
0x533 小时前
Java网络编程(二)
java·服务器·网络
Flittly3 小时前
【雕虫大技】Agent 动态 Skill 供应链安全加固(三):输出校验与治理闭环实战
java·spring boot·spring
Poo_Chai3 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
瑞码空间3 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
树码小子3 小时前
开启 IDEA 中的断言功能
android·java·intellij-idea
茶本无香4 小时前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell