1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java获取请求者真实的公网ip地址

java获取请求者真实的公网ip地址

时间:2022-08-22 14:38:13

相关推荐

java获取请求者真实的公网ip地址

在java程序中获取浏览者真实的公网ip地址,程序健壮性极好,代码如下:

publicvoiddownLoad(HttpServletRequestrequest){Stringip=null;//处理代理情况ip=request.getHeader("x-forwarded-for");if(StringUtils.isBlank(ip)||"unknown".equalsIgnoreCase(ip)){ip=request.getHeader("Proxy-Client-IP");}if(StringUtils.isBlank(ip)||"unknown".equalsIgnoreCase(ip)){ip=request.getHeader("WL-Proxy-Client-IP");}if(StringUtils.isBlank(ip)||"unknown".equalsIgnoreCase(ip)){ip=request.getRemoteAddr();if(ip.equals("127.0.0.1")){InetAddressinet=null;//根据网卡取本机配置的IPtry{inet=InetAddress.getLocalHost();//idea-PC/192.168.212.144}catch(UnknownHostExceptione){e.printStackTrace();}ip=inet.getHostAddress();//192.168.212.144}}//对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割,多级代理的时候会得到多个以,分割的ip,//这时候第一个是真实的客户端ipif(ip!=null&&ip.length()>15){//"***.***.***.***".length()if(ip.indexOf(",")>0){ip=ip.substring(0,ip.indexOf(","));}}System.out.println(ip);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。