Java生成国内随机IP

前言:原代码为PHP,改写为Java代码,经测试发现会生成一些国外IP,IP段有待修改

原代码文章 https://www.jianshu.com/p/73c0ee42896d

    public static String ranIP(){
        //随机生成国内IP
        long[][] ip_long = {
                {607649792, 608174079}, //36.56.0.0-36.63.255.255
                {975044608, 977272831}, //58.30.0.0-58.63.255.255
                {999751680, 999784447}, //59.151.0.0-59.151.127.255
                {1019346944, 1019478015}, //60.194.0.0-60.195.255.255
                {1038614528, 1039007743}, //61.232.0.0-61.237.255.255
                {1783627776, 1784676351}, //106.80.0.0-106.95.255.255
                {1947009024, 1947074559}, //116.13.0.0-116.13.255.255
                {1987051520, 1988034559}, //118.112.0.0-118.126.255.255
                {2035023872, 2035154943}, //121.76.0.0-121.77.255.255
                {2078801920, 2079064063}, //123.232.0.0-123.235.255.255
                {-1950089216, -1948778497}, //139.196.0.0-139.215.255.255
                {-1425539072, -1425014785}, //171.8.0.0-171.15.255.255
                {-1236271104, -1235419137}, //182.80.0.0-182.92.255.255
                {-770113536, -768606209}, //210.25.0.0-210.47.255.255
                {-569376768, -564133889}, //222.16.0.0-222.95.255.255
        };
  
        int rand_key = new Random().nextInt(ip_long.length-1)%(ip_long.length);
        String ran_ip= long2ip(mt_rand(ip_long[rand_key][0], ip_long[rand_key][1]));
        return ran_ip;
    }


    public static String long2ip(Long number) {
        //Long转换为IP
        String ip = "";
        for (int i = 3; i >= 0; i--) {
            ip += String.valueOf((number & 0xff));
            if (i != 0) {
                ip += ".";
            }
            number = number >> 8;
        }

        return ip;
    }
最后修改:2022 年 01 月 09 日
如果觉得我的文章对你有用,请随意赞赏