Java生成国内随机IP
前言:原代码为PHP,改写为Java代码,经测试发现会生成一些国外IP,IP段有待修改
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;
}