java 获取用户真实ip地址

来源:互联网 发布:java textarea 滚动条 编辑:程序博客网 时间:2024/05/29 15:28
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 || "unknow".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")){                 //根据网卡获取本机配置的IP地址                 InetAddress inetAddress = null;                 try {                     inetAddress = InetAddress.getLocalHost();                 } catch (UnknownHostException e) {                     e.printStackTrace();                 }                 ipAddress = inetAddress.getHostAddress();             }         }                  //对于通过多个代理的情况,第一个IP为客户端真实的IP地址,多个IP按照','分割         if(null != ipAddress && ipAddress.length() > 15){             //"***.***.***.***".length() = 15             if(ipAddress.indexOf(",") > 0){                 ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));             }         }         System.out.println(ipAddress);

原创粉丝点击