如何检查 IP 地址是否属于私有类别?
if(isPrivateIPAddress(ipAddress)) {
//do something
}
任何建议将不胜感激。
更新的答案
private static boolean isPrivateIPAddress(String ipAddress) {
InetAddress ia = null;
try {
InetAddress ad = InetAddress.getByName(ipAddress);
byte[] ip = ad.getAddress();
ia = InetAddress.getByAddress(ip);
} catch (UnknownHostException e) {
e.printStackTrace();
return false;
}
return ia.isSiteLocalAddress();
}
我写了这个方法,它对我来说效果很好。但有什么情况下这个方法不起作用呢?我只是想确保它适用于每种情况。
正确的方法是InetAddress.isSiteLocalAddress() http://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html#isSiteLocalAddress().
检查 InetAddress 是否是站点本地地址的实用程序例程。
返回:一个布尔值,指示 InetAddress 是否是本地站点
地址;如果地址不是站点本地单播地址,则返回 false。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)