/** * Get the current network request ip * @param request * @return */ public String getIpAddr(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")) { //According to the network card, get the IP of the local configuration InetAddress inet = null; try { inet = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace (); } ipAddress = inet.getHostAddress(); } } //For the case of passing through multiple proxies, the first IP is the real IP of the client, and multiple IPs are divided according to ',' if (ipAddress != null && ipAddress.length() > 15) { //"***.***.***.***".length() = 15 String[] ips = ipAddress.split(","); if (ips != null && ips.length > 0) { ipAddress = StrUtil.strnull(ips[0]); } } return ipAddress; }
java get network request ip
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=326682383&siteId=291194637
Ranking