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

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

相关推荐
怪兽源码24 分钟前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
恒悦sunsite30 分钟前
Redis之配置只读账号
java·redis·bootstrap
梦里小白龙36 分钟前
java 通过Minio上传文件
java·开发语言
人道领域36 分钟前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
sheji52611 小时前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于Java Web的电子商务网站的用户行为分析与个性化推荐系统为例,包含答辩的问题和答案
java·开发语言
摇滚侠1 小时前
Java项目教程《尚庭公寓》java项目从开发到部署,技术储备,MybatisPlus、MybatisX
java·开发语言
€8111 小时前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战
Mr_star_galaxy2 小时前
【JAVA】经典图书管理系统的实现
java
昊坤说不出的梦2 小时前
【实战】监控上下文切换及其优化方案
java·后端