您的位置:程序门 -> java -> j2se / 基础类



怎样获得本机的ip地址啊!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


怎样获得本机的ip地址啊!![已结贴,结贴人:chinareny2k]
发表于:2007-02-12 18:21:35 楼主
怎样获得本机通过宽带上网的ip地址,每次用宽带上网,都有一个变化的ip地址,怎样通过编程动态获得ip地址  
发表于:2007-02-12 18:49:491楼 得分:0
import   java.net.*;
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());
}
}
发表于:2007-02-12 19:01:042楼 得分:0
我照你的   做了可显示我自己机器的ip地址是0.2.0.5,这根本不可能是我本机在internet上的ip地址啊1!
发表于:2007-02-12 19:41:343楼 得分:10
帮你查了一下,我用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   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());
}
}
发表于:2007-02-12 19:52:244楼 得分:10
import   java.net.inetaddress;


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
发表于:2007-02-12 19:52:435楼 得分:0
试试
发表于:2007-02-12 19:57:586楼 得分:0
要是没上网返回的是网卡的ip地址
发表于:2007-02-12 19:59:067楼 得分:0
ebinge323()   的程序不错,挺好用的
支持!!
发表于:2007-02-12 20:35:598楼 得分:0
哈哈,明白了谢谢john啊
发表于:2007-02-12 20:40:139楼 得分:0
要是没问题了,请楼主参考我名字后边的字符串
发表于:2007-02-13 00:08:0010楼 得分:0
不错,不错,呵呵,我要努力,有一点john_sheep
ret   =   addrs[1].gethostaddress();写成addrs[0].
你写的是不是得到网络上所有主机名字为hostname的机器ip地址啊.我想问下这个网络上是局域网范围吗?



快速检索

最新资讯
热门点击