在Java中如何使用InetAddress获取IP地址
时间:2020-02-23 14:34:19 来源:igfitidea点击:
IP地址是IP使用的32位或者128位无符号数字,IP是在其上构建UDP和TCP等协议的较低级别协议。
在Java中," InetAddress"类表示Internet协议(IP)地址。
其中我们将学习如何使用InetAddress在Java中获取本地主机IP地址和IP地址。
package com.theitroad.util; import java.net.UnknownHostException; import java.net.InetAddress; public class JavaIPAddress { /** * @param args * @throws UnknownHostException */ public static void main(String[] args) throws UnknownHostException { //print localhost ip address System.out.println(InetAddress.getLocalHost().getHostAddress()); //print website ip address System.out.println(InetAddress.getByName("www.theitroad.local")); //print all ip addresses for a website InetAddress[] inetAddresses = InetAddress.getAllByName("www.google.com"); for(InetAddress inet : inetAddresses){ System.out.println(inet); } } }
上面程序的输出是:
192.168.3.1 www.theitroad.local/50.116.65.160 www.google.com/74.125.224.82 www.google.com/74.125.224.81 www.google.com/74.125.224.80 www.google.com/74.125.224.83 www.google.com/74.125.224.84 www.google.com/2001:4860:4001:803:0:0:0:1010
当我们使用InetAddress.getByName(String host)
时,它返回主机名的当前IPv4地址,当我们使用InetAddress.getAllByName(String host)
时,它返回与该主机名关联的所有IP地址。
google.com IP的最后输出是IPv6格式的IP地址。
如果没有与主机名关联的IP地址,则这些方法将抛出UnknownHostException。
请注意,我们不应使用HTTP之类的协议来提供主机名输入。