Java网络基本类- - -InetAddress
1.获取本机Ip
InetAddress.getLocalHost()
package javanet01;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetIp {
public static void main(String[] args) throws UnknownHostException {
InetAddress ip=InetAddress.getLocalHost();
System.out.println(ip);
}
}
执行上面代码结果:
QH-20180714MXWW/169.254.185.246
QH-20180714MXWW:计算机名
169.254.185.246:本机ip
2.根据域名获取Ip
InetAddress.getByName(String host)
package javanet01;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetIp {
public static void main(String[] args) throws UnknownHostException {
InetAddress ip=InetAddress.getByName("www.baidu.com");
System.out.println(ip);
}
}
结果:
www.baidu.com/14.215.177.38
3.创建InetAddress对象
InetAddress.getByAddress(byte[] addr)
package javanet01;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetIp {
public static void main(String[] args) throws UnknownHostException {
InetAddress ip=InetAddress.getByAddress(new byte[]{39,(byte)107,(byte)232,(byte)169});
System.out.println(ip);
}
}
byte的范围是-128~127,232需要强转(byte)232
运行结果:
/39.107.232.169
InetAddress.getByAddress(String host,byte[] addr)
package javanet01;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetIp {
public static void main(String[] args) throws UnknownHostException {
InetAddress ip=InetAddress.getByAddress("www.xuexibc.top",new byte[]{39,(byte)107,(byte)232,(byte)169});
System.out.println(ip);
}
}
运行结果:
www.xuexibc.top/39.107.232.169
getByAddress方法并不使用host在DNS上查找IP地址,host只是一个用于表示addr的别名
4.获取本地ip
InetAddress.getLoopbackAddress()
package javanet01;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetIp {
public static void main(String[] args) throws UnknownHostException {
InetAddress ip=InetAddress.getLoopbackAddress();
System.out.println(ip);
}
}
运行结果:
localhost/127.0.0.1