java获得真实IP代码
在有代理服务器的情况下,需要通过X-FORWARDED-FOR http头来获得真实的用户ip:
1 public final class HTTPUtils { 2 3 private static final String HEADER_X_FORWARDED_FOR = 4 "X-FORWARDED-FOR"; 5 6 public static String remoteAddr(HttpServletRequest request) { 7 String remoteAddr = request.getRemoteAddr(); 8 String x; 9 if ((x = request.getHeader(HEADER_X_FORWARDED_FOR)) != null) { 10 remoteAddr = x; 11 int idx = remoteAddr.indexOf(','); 12 if (idx > -1) { 13 remoteAddr = remoteAddr.substring(0, idx); 14 } 15 } 16 return remoteAddr; 17 } 18 19 }
1 public final class HTTPUtils { 2 3 private static final String HEADER_X_FORWARDED_FOR = 4 "X-FORWARDED-FOR"; 5 6 public static String remoteAddr(HttpServletRequest request) { 7 String remoteAddr = request.getRemoteAddr(); 8 String x; 9 if ((x = request.getHeader(HEADER_X_FORWARDED_FOR)) != null) { 10 remoteAddr = x; 11 int idx = remoteAddr.indexOf(','); 12 if (idx > -1) { 13 remoteAddr = remoteAddr.substring(0, idx); 14 } 15 } 16 return remoteAddr; 17 } 18 19 }
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。
QQ:6203142
-----在北京的四川小伙