Contoh dalam artikel ini menjelaskan bagaimana Java menentukan apakah alamat IP merupakan IP intranet atau IP publik. Bagikan dengan semua orang untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Dalam protokol TCP/IP, tiga area alamat IP secara khusus dicadangkan sebagai alamat pribadi. Rentang alamatnya adalah sebagai berikut:
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
Baiklah, langsung saja ke kodenya:
Salin kode sebagai berikut: public static boolean internalIp(String ip) {
byte[] addr = IPAddressUtil.textToNumericFormatV4(ip);
kembalikan internalIp(addr);
}
public static boolean internalIp(byte[] addr) {
byte terakhir b0 = tambahan[0];
byte terakhir b1 = tambahan[1];
//10.xxx/8
byte terakhir SECTION_1 = 0x0A;
//172.16.xx/12
byte terakhir SECTION_2 = (byte) 0xAC;
byte terakhir SECTION_3 = (byte) 0x10;
byte terakhir SECTION_4 = (byte) 0x1F;
//192.168.xx/16
byte terakhir SECTION_5 = (byte) 0xC0;
byte terakhir SECTION_6 = (byte) 0xA8;
saklar (b0) {
kasus BAGIAN_1:
kembali benar;
kasus BAGIAN_2:
jika (b1 >= BAGIAN_3 && b1 <= BAGIAN_4) {
kembali benar;
}
kasus BAGIAN_5:
saklar (b1) {
kasus BAGIAN_6:
kembali benar;
}
bawaan:
kembali salah;
}
}
Saya harap artikel ini bermanfaat untuk pemrograman Java semua orang.