java获取访问者的IP和端口

来源:互联网 发布:淘宝服装店女装推荐 编辑:程序博客网 时间:2024/05/20 12:50

java获取访问者的IP,提供两种获取ip的方法


public static String getIpAddr(HttpServletRequest request){ String ipAddress = null;     ipAddress = request.getHeader("x-forwarded-for");     if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {    // logger.info("~~~~~~~~first condition:x-forwarded-for");     ipAddress = request.getHeader("Proxy-Client-IP");     }     if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {     //logger.info("~~~~~~~~second condition:WL-Proxy-Client-IP");         ipAddress = request.getHeader("WL-Proxy-Client-IP");     }     if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {     //logger.info("~~~~~~~~third condition:getremoteaddr");         ipAddress = request.getRemoteAddr();     }/*     if(ipAddress.equals("127.0.0.1")){         //根据网卡取本机配置的IP         InetAddress inet=null;      try {       inet = InetAddress.getLocalHost();      } catch (UnknownHostException e) {       e.printStackTrace();      }      ipAddress= inet.getHostAddress();        }*/    //对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割     if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15         if(ipAddress.indexOf(",")>0){             ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));         }     }     return ipAddress;    }




//获取端口

String port= request.getLocalPort()+"";


0 0
原创粉丝点击