〇×〇站

个人博客,佛系更新

通过ip地址获取省份城市

  • Pluto
  • 2023-04-07 11:08:24
  • 1149
  • ip2region

    优点:免费,可离线运行,准确查询全球城市信息,支持多种客户端,包括Java

    maven集成

    <dependency>
        <groupId>org.lionsoul</groupId>
        <artifactId>ip2region</artifactId>
        <version>2.7.0</version>
    </dependency>
    

    测试代码

    package cc.iiw.zero.util;
    
    import cn.hutool.core.io.resource.ClassPathResource;
    import org.lionsoul.ip2region.xdb.Searcher;
    
    public class IpUtil {
    
        /**
         * 国家|区域|省份|城市|ISP
         */
        private static String search(String ip) {
            try {
                String dbPath = new ClassPathResource("ip2region.xdb").getAbsolutePath();
                Searcher searcher = Searcher.newWithFileOnly(dbPath);
                String region = searcher.search(ip);
                searcher.close();
                return region;
            } catch (Exception e) {
                return "";
            }
        }
    
        public static void main(String[] args) {
            System.out.println("国家|区域|省份|城市|ISP");
            System.out.println(search("223.104.41.189"));
            System.out.println(search("124.236.219.174"));
            System.out.println(search("1.2.3.4"));
            System.out.println(search("8.8.8.8"));
        }
    }
    

    运行结果

    国家|区域|省份|城市|ISP
    中国|0|北京|北京市|移动
    中国|0|河北省|石家庄市|电信
    美国|0|华盛顿|0|谷歌
    美国|0|0|0|Level3
    

    相关文件下载

    ip2region.xdb

    参考链接

    https://gitee.com/lionsoul/ip2region

    分类:
  • 代码
  • 标签:
  • java