Home  >  Article  >  Java  >  Detailed introduction to code examples for obtaining the IP address of the current server in java

Detailed introduction to code examples for obtaining the IP address of the current server in java

黄舟
黄舟Original
2017-03-08 11:03:053398browse

This article mainly introduces the method of obtaining the IP address of the current server in Java. The editor thinks it is quite good. Now I will share it with you and give it as a reference. Let’s follow the editor and take a look.

1. Tomcat is a free open source Web server. If it is deployed locally, the corresponding address is localhost and the corresponding address is 127.0.0.1.

Example: It can be accessed through the http://www.php.cn/:8080/ project root value, or it can be accessed through the http://www.php.cn/ project root value.

If deployed on a server (linux) system class, you need to access it through the server's IP address.

2. Let’s talk about how to get the IP address:

Get the local IP address:

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();
   } 
 }

Get the server’s IP address (written by others)

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

The farming log in the agricultural Internet of Things intelligent farming system based on the SSM framework requires uploading a picture to in the server. During local testing, since the saved path is in local disk E, the background directly obtains the resource file from the local area. When the file is sent to the server, the file cannot be found. It is estimated that the IP address cannot be obtained, and only the corresponding file path is available. Based on this, I want to design a way to read the file information from the server, but it has not been successful. Later, I found that localhost was consistent with 127.0.0.1, so I thought of using the server IP address instead of localhost to complete the reading operation, but the essence was still reading from the front-end interface.


The above is the detailed content of Detailed introduction to code examples for obtaining the IP address of the current server in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn