java 随机获取国内IP

  1. /* 
  2.      * 随机生成国内IP地址 
  3.      */  
  4.     public static String getRandomIp() {  
  5.   
  6.         // ip范围  
  7.         int[][] range = { { 607649792608174079 },// 36.56.0.0-36.63.255.255  
  8.                 { 10386145281039007743 },// 61.232.0.0-61.237.255.255  
  9.                 { 17836277761784676351 },// 106.80.0.0-106.95.255.255  
  10.                 { 20350238722035154943 },// 121.76.0.0-121.77.255.255  
  11.                 { 20788019202079064063 },// 123.232.0.0-123.235.255.255  
  12.                 { -1950089216, -1948778497 },// 139.196.0.0-139.215.255.255  
  13.                 { -1425539072, -1425014785 },// 171.8.0.0-171.15.255.255  
  14.                 { -1236271104, -1235419137 },// 182.80.0.0-182.92.255.255  
  15.                 { -770113536, -768606209 },// 210.25.0.0-210.47.255.255  
  16.                 { -569376768, -564133889 }, // 222.16.0.0-222.95.255.255  
  17.         };  
  18.   
  19.         Random rdint = new Random();  
  20.         int index = rdint.nextInt(10);  
  21.         String ip = num2ip(range[index][0] + new Random().nextInt(range[index][1] - range[index][0]));  
  22.         return ip;  
  23.     }  
  24.   
  25.     /* 
  26.      * 将十进制转换成ip地址 
  27.      */  
  28.     public static String num2ip(int ip) {  
  29.         int[] b = new int[4];  
  30.         String x = "";  
  31.   
  32.         b[0] = (int) ((ip >> 24) & 0xff);  
  33.         b[1] = (int) ((ip >> 16) & 0xff);  
  34.         b[2] = (int) ((ip >> 8) & 0xff);  
  35.         b[3] = (int) (ip & 0xff);  
  36.         x = Integer.toString(b[0]) + "." + Integer.toString(b[1]) + "." + Integer.toString(b[2]) + "." + Integer.toString(b[3]);  
  37.   
  38.         return x;  
  39.     }  

来源:郑摇天博客(微信:zhengyaotian8),欢迎分享本文,转载请保留出处!