Cyh的博客

          Email:kissyan4916@163.com
          posts - 26, comments - 19, trackbacks - 0, articles - 220

          網絡編程>>獲取IP地址和域名

          Posted on 2009-12-12 15:35 啥都寫點 閱讀(686) 評論(0)  編輯  收藏 所屬分類: J2SE
            
               通過java.net.InetAddress的getLocalHost靜態方法能夠獲得本機的網絡地址信息,也是一個InetAddress對象。
               InetAddress的getHostAddress實例方法,能獲取該網絡地址的IP信息。
               InetAddress的getHostName實例方法獲取網絡地址的域名或者機器名。
               InetAddress的getByName靜態方法根據域名獲得該域名代表的主機的網絡地址信息,返回的是一個InetAddress對象。
               當一個主機配置多個網絡地址時,可以通過InetAddress的getAllByName靜態方法根據域名獲得該域名代表的主機的所有網絡地址信息,返回的是一個組InetAddress的對象。

          /**----------------------------------GetIPAddress.java----------------------------------------*/

          import java.net.InetAddress;
          import java.net.UnknownHostException;

          /**
           * 獲取IP地址和機器名
           
          */

          public class GetIPAddress {

              
          /**
               * 獲取本機的IP地址
               * 
          @return
               * 
          @throws UnknownHostException
               
          */

              
          public static String getLocalIP() throws UnknownHostException {
                  InetAddress addr 
          = InetAddress.getLocalHost();
                  
          return addr.getHostAddress();
              }


              
          /**
               * 獲取本機的機器名
               * 
          @return
               * 
          @throws UnknownHostException
               
          */

              
          public static String getLocalHostName() throws UnknownHostException {
                  InetAddress addr 
          = InetAddress.getLocalHost();
                  
          return addr.getHostName();
              }

              
          /**
               * 根據域名獲得主機的IP地址
               * 
          @param hostName    域名
               * 
          @return
               * 
          @throws UnknownHostException
               
          */

              
          public static String getIPByName(String hostName)
                      
          throws UnknownHostException {
                  InetAddress addr 
          = InetAddress.getByName(hostName);
                  
          return addr.getHostAddress();
              }

              
          /**
               * 根據域名獲得主機所有的IP地址
               * 
          @param hostName    域名
               * 
          @return
               * 
          @throws UnknownHostException
               
          */

              
          public static String[] getAllIPByName(String hostName)
                      
          throws UnknownHostException {
                  InetAddress[] addrs 
          = InetAddress.getAllByName(hostName);
                  String[] ips 
          = new String[addrs.length];
                  
          for (int i = 0; i < addrs.length; i++{
                      ips[i] 
          = addrs[i].getHostAddress();
                  }

                  
          return ips;
              }

              
              
          public static void main(String[] args) throws UnknownHostException {
                  
          // 獲取本機的IP地址和機器名
                  System.out.println("Local IP: " + GetIPAddress.getLocalIP());
                  System.out.println(
          "Local HostName: " + GetIPAddress.getLocalHostName());

                  
          // 獲得微軟網站的IP
                  String hostName = "www.microsoft.com";
                  System.out.println(
          "域名為" + hostName + "的主機的IP地址:");
                  System.out.println(GetIPAddress.getIPByName(hostName));

                  System.out.println(
          "域名為" + hostName + "的主機的所有IP地址:");
                  String[] ips 
          = GetIPAddress.getAllIPByName(hostName);
                  
          for (int i = 0; i < ips.length; i++{
                      System.out.println(ips[i]);
                  }

              }

          }



                                                                                                                 --    學海無涯
                  

          主站蜘蛛池模板: 米易县| 运城市| 富锦市| 邹城市| 峨眉山市| 连平县| 张家界市| 乌什县| 阳原县| 平乡县| 体育| 明水县| 菏泽市| 来安县| 民权县| 阳西县| 霍山县| 昌图县| 隆尧县| 平凉市| 宝坻区| 汉中市| 开封市| 闻喜县| 县级市| 吉安县| 甘肃省| 延寿县| 丘北县| 和龙市| 大埔县| 伊宁市| 太湖县| 和田市| 泗阳县| 长葛市| 东莞市| 改则县| 竹北市| 台湾省| 汉中市|