溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用java中實現(xiàn)獲取服務器的Ip地址

發(fā)布時間:2020-11-09 17:25:22 來源:億速云 閱讀:389 作者:Leah 欄目:編程語言

如何利用java中實現(xiàn)獲取服務器的Ip地址?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1、tomcat是一款免費的開源Web服務器,如果部署在本地,那么對應的那么為localhost,對應地址為127.0.0.1。

例子:可以通過http://localhost:8080/項目root值訪問,也可以通過http://127.0.0.1/項目root值訪問。

如果部署在服務器(linux)系統(tǒng)類,則需要通過服務器的Ip地址進行訪問。

2、下面說說怎么獲取Ip地址:

獲取本地的Ip地址:

public static void main(String[] args) {
    try {
       InetAddress address = InetAddress.getLocalHost();//獲取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121
       String hostAddress = address.getHostAddress());//192.168.0.121      
       InetAddress address1 = InetAddress.getByName("www.wodexiangce.cn");//獲取的是該網(wǎng)站的ip地址,比如我們所有的請求都通過nginx的,所以這里獲取到的其實是nginx服務器的IP地 
       String hostAddress1 = address1.getHostAddress());//124.237.121.122 
       InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根據(jù)主機名返回其可能的所有InetAddress對象 
       for(InetAddress addr:addresses){ 
       System.out.println(addr);//www.baidu.com/14.215.177.38 
       //www.baidu.com/14.215.177.37 
      } 
    } catch (UnknownHostException e) { 
       e.printStackTrace();
   } 
 }

獲取服務器的Ip地址(其他人寫的)

/**
   * 獲取服務器IP地址
   * @return
   */
  @SuppressWarnings("unchecked")
  public static String getServerIp(){
    String SERVER_IP = null;
    try {
      Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
      InetAddress ip = null;
      while (netInterfaces.hasMoreElements()) {
        NetworkInterface ni = (NetworkInterface) netInterfaces.nextElement();
        ip = (InetAddress) ni.getInetAddresses().nextElement();
        SERVER_IP = ip.getHostAddress();
        if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()
            && ip.getHostAddress().indexOf(":") == -1) {
          SERVER_IP = ip.getHostAddress();
          break;
        } else {
          ip = null;
        }
      }
    } catch (SocketException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  
    return SERVER_IP;
  }
}

基于SSM框架的農業(yè)物聯(lián)網(wǎng)智能養(yǎng)殖系統(tǒng)中的養(yǎng)殖日志要求上傳一張圖片到服務器中。本地測試時,由于保存的路徑在本地磁盤E中,所以后臺直接從本地獲取了資源文件。傳入服務器胡,找不到該文件,估計是IP地址無法獲取到,只有對應的文件路徑,基于此,想設計出從服務器里讀取文件信息,但是并沒有成功。后來發(fā)現(xiàn)localhost與127.0.0.1是一致的,就想起了用服務器IP地址代替localhost完成讀取操作,但本質仍然是前臺界面的讀取。

關于如何利用java中實現(xiàn)獲取服務器的Ip地址問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI