zoukankan      html  css  js  c++  java
  • Ip2Region IP转化地址位置

    Ip2Region有中文和数据结构支持,是一个很好的第三方ip转换工具。

    java:

    <dependency>
       <groupId>org.lionsoul</groupId>
       <artifactId>ip2region</artifactId>
       <version>1.7</version>
    </dependency>
    import org.lionsoul.ip2region.DataBlock;
    import org.lionsoul.ip2region.DbConfig;
    import org.lionsoul.ip2region.DbSearcher;
    
    
    public class Ip2Region {
        public static void main(String[] args) throws Exception {
            // ip
            String ip = "121.33.59.18";
    
            // 判断是否为IP地址 (可用)
            //boolean isIpAddress = Util.isIpAddress(ip);
    
            // ip和long互转 (可用)
            // long ipLong = Util.ip2long(ip);
            // String strIp = Util.long2ip(ipLong);
    
            // 根据ip进行位置信息搜索
            DbConfig config = new DbConfig();
    
            // 获取ip库的位置(放在src下)(直接通过测试类获取文件Ip2RegionTest为测试类)
            String dbfile = Ip2Region.class.getResource("/ip2region.db").getPath();   //获取src/java/resources路径下ip2region.db文件地址
    
            DbSearcher searcher = new DbSearcher(config, dbfile);
    
            // 采用Btree搜索
            DataBlock block = searcher.btreeSearch(ip);
    
            // 打印位置信息(格式:国家|大区|省份|城市|运营商)
            System.out.println(block.getRegion());
        }
    
    
    
    }

    scala:

    <dependency>
       <groupId>org.lionsoul</groupId>
       <artifactId>ip2region</artifactId>
       <version>1.7</version>
    </dependency>
    import org.junit.Test
    import org.lionsoul.ip2region.{DataBlock, DbConfig, DbSearcher}
    
    class IPTest {
    
      /**
        * IP -> Region, City
        */
      @Test
      def ip2Region(): Unit = {
        val searcher = new DbSearcher(new DbConfig(), "dataset/ip2region.db")
        val region = searcher.btreeSearch("121.33.59.18").getRegion
        println(region)
      }
    
    
    }

    地址:https://pan.baidu.com/s/13W7EFg-GiBVkMjNdl-a5RA

    密码:0wi6

    或:https://gitee.com/lionsoul/ip2region/tree/master/data

  • 相关阅读:
    A1061 Dating [字符串比较]
    A1058 A+B in Hogwarts [进制转换]
    A1027 Colors in Mars[简单模拟--进制转换]
    A1031 Hello World for U[图形输出]
    刷PAT的一些思考—Day 1
    A1009 Product of Polynomials[简单模拟--多项式相乘]
    A1002 A+B for Polynomials[简单模拟--多项式相加]
    A1046 Shortest Distance [简单模拟--卡算法复杂度]
    1009 说反话
    usb之配置描述符
  • 原文地址:https://www.cnblogs.com/chong-zuo3322/p/12287336.html
Copyright © 2011-2022 走看看