L'exemple de cet article décrit comment Java détermine si une adresse IP est une adresse IP intranet ou une adresse IP publique. Partagez-le avec tout le monde pour votre référence. L’analyse spécifique est la suivante :
Dans le protocole TCP/IP, trois zones d'adresses IP sont spécialement réservées comme adresses privées. Les plages d'adresses sont les suivantes :
10.0.0.0/8:10.0.0.0~10.255.255.255
172.16.0.0/12:172.16.0.0~172.31.255.255
192.168.0.0/16:192.168.0.0~192.168.255.255
Alors passons directement au code :
Copiez le code comme suit : public static boolean internalIp(String ip) {
byte[] addr = IPAddressUtil.textToNumericFormatV4(ip);
return internalIp(addr);
}
public static boolean internalIp(byte[] addr) {
octet final b0 = addr[0] ;
octet final b1 = adresse[1] ;
//10.xxx/8
octet final SECTION_1 = 0x0A ;
//172.16.xx/12
octet final SECTION_2 = (octet) 0xAC ;
octet final SECTION_3 = (octet) 0x10 ;
octet final SECTION_4 = (octet) 0x1F ;
//192.168.xx/16
octet final SECTION_5 = (octet) 0xC0 ;
octet final SECTION_6 = (octet) 0xA8 ;
commutateur (b0) {
cas SECTION_1 :
renvoie vrai ;
cas SECTION_2 :
si (b1 >= SECTION_3 && b1 <= SECTION_4) {
renvoie vrai ;
}
cas SECTION_5 :
interrupteur (b1) {
cas SECTION_6 :
renvoie vrai ;
}
défaut:
renvoie faux ;
}
}
J'espère que cet article sera utile à la programmation Java de chacun.