帮你查了一下,我用java给你写了个,没有几行, 只要调用jdk中的一个net包即可,可以得到更多的信息,如getAddress() 返回这个 InetAddress 对象的原始 IP 地址。 getAllByName(String) 给定主机名,确定该主机的所有 IP 地址。 getByName(String) 给定主机名,确定该主机的所有 IP 地址。 原代码如下,我调试过了把我机器的主机名和ip都读出来了. import java.net.InetAddress; public class NetIpAddress{ private InetAddress myHostIp=null;
public class GetIP
{
public static void main (String[] args) throws Exception
{
/*根据指定域名获取主机名*/
InetAddress myIP1=InetAddress.getByName("www.microsoft.com");
System.out.println(myIP1);
InetAddress myIP2=InetAddress.getLocalHost();
System.out.println(myIP2);
/*获取主机IP地址和名称*/
System.out.println(myIP1.getHostName());
System.out.println(myIP1.getHostAddress());
System.out.println(myIP2.getHostName());
System.out.println(myIP2.getHostAddress());
}
}
返回这个 InetAddress 对象的原始 IP 地址。
getAllByName(String)
给定主机名,确定该主机的所有 IP 地址。
getByName(String)
给定主机名,确定该主机的所有 IP 地址。
原代码如下,我调试过了把我机器的主机名和ip都读出来了.
import java.net.InetAddress;
public class NetIpAddress{
private InetAddress myHostIp=null;
public InetAddress getMyHostIp(){
try{
myHostIp= InetAddress.getLocalHost();
}catch(Exception ex){
ex.printStackTrace();
}
return myHostIp;
}
public static void main(String[] args){
NetIpAddress ip=new NetIpAddress();
System.out.print(ip.getMyHostIp());
}
}
public class GetLocalIp {
public static String getLocalHostIP(){
String ret = "";
try{
InetAddress addr = InetAddress.getLocalHost();
String hostName = addr.getHostName();
if(hostName.length()>0){
InetAddress[] addrs = InetAddress.getAllByName(hostName);
ret = addrs[1].getHostAddress();
}
}
catch(Exception ex){
ret = null;
}
return ret;
}
public static void main(String[] args) {
System.out.println( getLocalHostIP());
}
}可以得到互联网的IP
支持!!
ret = addrs[1].getHostAddress();写成addrs[0].
你写的是不是得到网络上所有主机名字为hostname的机器ip地址啊.我想问下这个网络上是局域网范围吗?