標籤:
貼代碼
IpUtil.java
package com.datongsoft.wg.common.util;import java.net.InetAddress;import java.net.UnknownHostException;public class IpUtil { /*驗證IP是否屬於某個IP段 * * ipSection IP段(以‘-‘分隔) * ip 所驗證的IP號碼 * */ public static boolean ipExistsInRange(String ip,String ipSection) { ipSection = ipSection.trim(); ip = ip.trim(); int idx = ipSection.indexOf(‘-‘); String beginIP = ipSection.substring(0, idx); String endIP = ipSection.substring(idx + 1); return getIp2long(beginIP)<=getIp2long(ip) &&getIp2long(ip)<=getIp2long(endIP); } public static long getIp2long(String ip) { ip = ip.trim(); String[] ips = ip.split("\\."); long ip2long = 0L; for (int i = 0; i < 4; ++i) { ip2long = ip2long << 8 | Integer.parseInt(ips[i]); } return ip2long; } public static long getIp2long2(String ip) { ip = ip.trim(); String[] ips = ip.split("\\."); long ip1 = Integer.parseInt(ips[0]); long ip2 = Integer.parseInt(ips[1]); long ip3 = Integer.parseInt(ips[2]); long ip4 = Integer.parseInt(ips[3]); long ip2long =1L* ip1 * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4; return ip2long; } public static int getExists(String ip){ System.out.println("訪問Ip:"+ip); InetAddress addr; int ext=0; boolean exists = false; try {addr = InetAddress.getLocalHost();// String ip=addr.getHostAddress().toString(); //擷取本機ip //String ipSection="10.163.64.00-10.163.71.255"; String ipSection="192.168.0.1-192.168.0.240"; exists =ipExistsInRange(ip,ipSection); if(exists){ ext=1; } } catch (UnknownHostException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} return ext; } public static void main(String[] args) throws Exception{ //10.10.10.116 是否屬於固定格式的IP段10.10.1.00-10.10.255.255 /*InetAddress addr = InetAddress.getLocalHost(); String ip=addr.getHostAddress().toString(); //擷取本機ip String hostName=addr.getHostName().toString(); //擷取本機電腦名稱 //String ip="10.163.10.116"; String ipSection="10.163.64.00-10.163.71.255"; boolean exists=ipExistsInRange(ip,ipSection); System.out.println(exists);*/ //System.out.println( getExists()); //System.out.println(getIp2long(ip)); //System.out.println(getIp2long2(ip)); } }
java 限定網站在指定IP段訪問