Heim  >  Artikel  >  Java  >  Detaillierte Einführung in Codebeispiele zum Abrufen der IP-Adresse des aktuellen Servers in Java

Detaillierte Einführung in Codebeispiele zum Abrufen der IP-Adresse des aktuellen Servers in Java

黄舟
黄舟Original
2017-03-08 11:03:053385Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Abrufen der IP-Adresse des aktuellen Servers in Java vorgestellt. Der Herausgeber hält sie für recht gut, daher werde ich sie jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Editor, um einen Blick darauf zu werfen

1. Tomcat ist ein kostenloser Open-Source-Webserver. Wenn er lokal bereitgestellt wird, lautet die entsprechende Adresse localhost und die entsprechende Adresse ist 127.0.0.1.

Beispiel: Der Zugriff erfolgt über http://www.php.cn/:8080/project root value oder über http://www.php.cn/project root value.

Bei der Bereitstellung auf einem Serversystem (Linux) müssen Sie über die IP-Adresse des Servers darauf zugreifen.

2. Lassen Sie uns darüber sprechen, wie Sie die IP-Adresse erhalten:

Erhalten Sie die lokale IP-Adresse:

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");
       //获取的是该网站的ip地址,比如我们所有的请求都通过nginx的,所以这里获取到的其实是nginx服务器的IP地 
       String hostAddress1 = address1.getHostAddress());//124.237.121.122 
       InetAddress[] addresses = InetAddress.getAllByName("www.baidu.com");//根据主机名返回其可能的所有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();
   } 
 }

Server-IP-Adresse abrufen (von anderen geschrieben)

/**
   * 获取服务器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;
  }
}

Zuchtprotokolle im landwirtschaftlichen IoT-Intelligenten Zuchtsystem basierend auf dem SSM-Framework müssen hochgeladen werden Ein Bild wird an den Server gesendet. Da sich der gespeicherte Pfad während des lokalen Tests auf der lokalen Festplatte E befindet, ruft der Hintergrund die Ressourcendatei direkt aus dem lokalen Bereich ab. Wenn die Datei an den Server gesendet wird, kann sie nicht gefunden werden. Es wird geschätzt, dass die IP-Adresse nicht abgerufen werden kann und nur der entsprechende Dateipfad verfügbar ist. Auf dieser Grundlage möchte ich eine Möglichkeit entwickeln, die Dateiinformationen zu lesen vom Server, aber es war nicht erfolgreich. Später stellte ich fest, dass localhost mit 127.0.0.1 übereinstimmte, sodass ich mich daran erinnerte, dass ich die Server-IP-Adresse anstelle von localhost verwendet hatte, um den Lesevorgang abzuschließen, aber das Wesentliche war immer noch das Lesen von der Front-End-Schnittstelle.


Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Codebeispiele zum Abrufen der IP-Adresse des aktuellen Servers in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn