import  javax. servlet. http.  HttpServletRequest ; 
import  java. net.  InetAddress ; 
import  java. net.  UnknownHostException ; 
public  class  RequestUtil  { public  static  String  getRequestIp ( HttpServletRequest  request)  { String  ipAddress =  request. getHeader ( "x-forwarded-for" ) ; if  ( ipAddress ==  null  ||  ipAddress. length ( )  ==  0  ||  "unknown" . equalsIgnoreCase ( ipAddress) )  { ipAddress =  request. getHeader ( "Proxy-Client-IP" ) ; } if  ( ipAddress ==  null  ||  ipAddress. length ( )  ==  0  ||  "unknown" . equalsIgnoreCase ( ipAddress) )  { ipAddress =  request. getHeader ( "WL-Proxy-Client-IP" ) ; } if  ( ipAddress ==  null  ||  ipAddress. length ( )  ==  0  ||  "unknown" . equalsIgnoreCase ( ipAddress) )  { ipAddress =  request. getRemoteAddr ( ) ; if  ( ipAddress. equals ( "127.0.0.1" )  ||  ipAddress. equals ( "0:0:0:0:0:0:0:1" ) )  { InetAddress  inetAddress =  null ; try  { inetAddress =  InetAddress . getLocalHost ( ) ; }  catch  ( UnknownHostException  e)  { e. printStackTrace ( ) ; } ipAddress =  inetAddress. getHostAddress ( ) ; } } if  ( ipAddress !=  null  &&  ipAddress. length ( )  >  15 )  { if  ( ipAddress. indexOf ( "," )  >  0 )  { ipAddress =  ipAddress. substring ( 0 ,  ipAddress. indexOf ( "," ) ) ; } } return  ipAddress; } }