博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java使用HttpServletRequest获取请求真实ip地址
阅读量:5084 次
发布时间:2019-06-13

本文共 1612 字,大约阅读时间需要 5 分钟。

1 public static String getIpAddr(HttpServletRequest request) { 2         String ipAddress = request.getHeader("x-forwarded-for"); 3         if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { 4             ipAddress = request.getHeader("Proxy-Client-IP"); 5         } 6         if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { 7             ipAddress = request.getHeader("WL-Proxy-Client-IP"); 8         } 9         if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {10             ipAddress = request.getRemoteAddr();11             String localIp = "127.0.0.1";12             String localIpv6 = "0:0:0:0:0:0:0:1";13             if (ipAddress.equals(localIp) || ipAddress.equals(localIpv6)) {14                 // 根据网卡取本机配置的IP15                 InetAddress inet = null;16                 try {17                     inet = InetAddress.getLocalHost();18                     ipAddress = inet.getHostAddress();19                 } catch (UnknownHostException e) {20                     e.printStackTrace();21                 }22             }23         }24         // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割25         String ipSeparate = ",";26         int ipLength = 15;27         if (ipAddress != null && ipAddress.length() > ipLength) {28             if (ipAddress.indexOf(ipSeparate) > 0) {29                 ipAddress = ipAddress.substring(0, ipAddress.indexOf(ipSeparate));30             }31         }32         return ipAddress;33     }

 

转载于:https://www.cnblogs.com/aizj/p/9446859.html

你可能感兴趣的文章
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>
Mysql数据库备份和还原常用的命令
查看>>
关于退出当前页面在火狐的一些问题
查看>>
【项目实施】项目考核标准
查看>>
spring-aop AnnotationAwareAspectJAutoProxyCreator类
查看>>
经典入门_排序
查看>>
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>
VIM工具
查看>>
javascript闭包
查看>>
@Column标记持久化详细说明
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
站立会议08(冲刺2)
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>