>Java >java지도 시간 >Java에서 현재 서버의 IP 주소를 얻기 위한 코드 예제에 대한 자세한 소개

Java에서 현재 서버의 IP 주소를 얻기 위한 코드 예제에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-08 11:03:053406검색

이 글에서는 현재 서버의 IP 주소를 Java로 얻는 방법을 주로 소개합니다. 편집자는 꽤 좋다고 생각해서 지금부터 공유하고 참고용으로 올려드리겠습니다. 에디터를 따라가서 살펴보겠습니다

1. Tomcat은 무료 오픈소스 웹 서버입니다. 로컬로 배포할 경우 해당 주소는 localhost이고 해당 주소는 127.0.0.1입니다.

예: http://www.php.cn/:8080/ 프로젝트 루트 값을 통해 접근하거나, http://www.php.cn/ 프로젝트 루트를 통해 접근할 수 있습니다. 값.

서버(리눅스) 시스템에 배포하는 경우 서버의 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");
       //获取的是该网站的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 서버의 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 프레임워크 기반의 농업사물인터넷 지능형 농업 시스템의 농사일지는 업로드가 필요함 서버에 있는 사진. 로컬 테스트 중에는 저장된 경로가 로컬 디스크 E에 있기 때문에 백그라운드는 로컬 영역에서 리소스 파일을 직접 가져옵니다. 파일을 서버로 보내면 파일을 찾을 수 없습니다. IP 주소를 알 수 없고 해당 파일 경로만 알 수 있는 것으로 추정됩니다. 이를 기반으로 파일 정보를 읽을 수 있는 방법을 설계하고 싶습니다. 서버에서 전송했지만 성공하지 못했습니다. 나중에 localhost가 127.0.0.1과 일치한다는 것을 알았으므로 읽기 작업을 완료하기 위해 localhost 대신 서버 IP 주소를 사용하려고 생각했지만 본질은 여전히 ​​프런트 엔드 인터페이스에서 읽는 것이었습니다.


위 내용은 Java에서 현재 서버의 IP 주소를 얻기 위한 코드 예제에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.