Cyh的博客

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

          導航

          公告

          一直努力努力努力,像奴隸奴隸奴隸!~~
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          隨筆檔案(25)

          文章分類(219)

          文章檔案(220)

          新聞檔案(66)

          相冊

          收藏夾(7)

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          網絡編程>>獲取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]);
                  }

              }

          }



                                                                                                                 --    學海無涯
                  

          主站蜘蛛池模板: 平果县| 沙河市| 龙岩市| 吉木乃县| 南靖县| 友谊县| 云龙县| 读书| 长兴县| 湘乡市| 保康县| 年辖:市辖区| 灵丘县| 白山市| 土默特右旗| 界首市| 开阳县| 寻乌县| 盘山县| 格尔木市| 晋宁县| 海门市| 多伦县| 高要市| 赣榆县| 崇州市| 五大连池市| 旅游| 宁安市| 理塘县| 军事| 连云港市| 新邵县| 萨迦县| 晋州市| 化隆| 库伦旗| 万荣县| 托克托县| 新巴尔虎右旗| 林周县|