Das Beispiel in diesem Artikel beschreibt, wie Java bestimmt, ob eine IP-Adresse eine Intranet-IP oder eine öffentliche IP ist. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Im TCP/IP-Protokoll sind drei IP-Adressbereiche speziell als private Adressen reserviert. Die Adressbereiche sind wie folgt:
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
Kommen wir also direkt zum Code:
Kopieren Sie den Code wie folgt: public static boolean internalIp(String ip) {
byte[] addr = IPAddressUtil.textToNumericFormatV4(ip);
return internalIp(addr);
}
public static boolean internalIp(byte[] addr) {
letztes Byte b0 = addr[0];
letztes Byte b1 = addr[1];
//10.xxx/8
letztes Byte SECTION_1 = 0x0A;
//172.16.xx/12
letztes Byte SECTION_2 = (Byte) 0xAC;
letztes Byte SECTION_3 = (Byte) 0x10;
letztes Byte SECTION_4 = (Byte) 0x1F;
//192.168.xx/16
letztes Byte SECTION_5 = (Byte) 0xC0;
letztes Byte SECTION_6 = (Byte) 0xA8;
Schalter (b0) {
Fall SECTION_1:
return true;
Fall ABSCHNITT_2:
if (b1 >= SECTION_3 && b1 <= SECTION_4) {
return true;
}
Fall ABSCHNITT_5:
Schalter (b1) {
Fall ABSCHNITT_6:
return true;
}
Standard:
return false;
}
}
Ich hoffe, dass dieser Artikel für die Java-Programmierung aller hilfreich sein wird.