개발/WEB PROGRAMMING

[ JAVA ] 웹 사이트 접속한 IP 가져올때 예제

itaekwon class 2020. 3. 16.
728x90

클라이언트 실제 접속 IP 가져오기

 

보통의 함수 예제


 

import javax.servlet.http.HttpServletRequest;

request.getRemoteAddr();

 

이렇게 사용할 것이다.

 

그렇지만 이 예제로는 접속한 정확한 IP를 가져올 수 없다.

 

그리하여 

 

실제 접속한 IP 가져오는 예제


 

public static String getClientIP(HttpServletRequest request) {
		try
		{
		    for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
		    {
		        NetworkInterface intf = en.nextElement();
		        for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)
		        {
		            InetAddress inetAddress = enumIpAddr.nextElement();
		            if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress() && inetAddress.isSiteLocalAddress())
		            {
		            	return inetAddress.getHostAddress().toString();
		            }
		        }
		    }
		}
		catch (SocketException ex) {}
		return null;
	}

 

이렇게 호출하게 되면 정확한 IP를 가져올 수 있다.

 

 

728x90

댓글