java 随机获取国内IP

本文介绍了一种使用Java实现的随机生成中国IP地址的方法。通过定义国内常见的IP地址范围,并利用随机数生成器来随机选取IP段内的具体数值,最终实现了生成随机IP的功能。文章还提供了将整数转换为IP地址的辅助函数。
/* 
     * 随机生成国内IP地址 
     */  
    public static String getRandomIp() {  
  
        // ip范围  
        int[][] range = { { 607649792, 608174079 },// 36.56.0.0-36.63.255.255  
                { 1038614528, 1039007743 },// 61.232.0.0-61.237.255.255  
                { 1783627776, 1784676351 },// 106.80.0.0-106.95.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  
        };  
  
        Random rdint = new Random();  
        int index = rdint.nextInt(10);  
        String ip = num2ip(range[index][0] + new Random().nextInt(range[index][1] - range[index][0]));  
        return ip;  
    }  
  
    /* 
     * 将十进制转换成ip地址 
     */  
    public static String num2ip(int ip) {  
        int[] b = new int[4];  
        String x = "";  
  
        b[0] = (int) ((ip >> 24) & 0xff);  
        b[1] = (int) ((ip >> 16) & 0xff);  
        b[2] = (int) ((ip >> 8) & 0xff);  
        b[3] = (int) (ip & 0xff);  
        x = Integer.toString(b[0]) + "." + Integer.toString(b[1]) + "." + Integer.toString(b[2]) + "." + Integer.toString(b[3]);  
  
        return x;  
    }  

 

转载于:https://my.oschina.net/u/2381372/blog/812685

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值