
Java获取请求主机真实ip
发布日期:2021-05-09 02:05:46
浏览次数:17
分类:博客文章
本文共 1260 字,大约阅读时间需要 4 分钟。
一般情况下 getRemoteAddr()是可以正常使用的,代码如下:
public String getIpAdress(HttpServletRequest request) { ip = request.getRemoteAddr(); return ip; }
但是针对IP是否使用代理访问进行处理,如下:
public String getIpAdress() { RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); ServletRequestAttributes sra = (ServletRequestAttributes) requestAttributes; HttpServletRequest request = sra.getRequest(); //针对IP是否使用代理访问进行处理 String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; }
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年05月08日 12时10分01秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
#NOIP前数学知识总结
2023-01-24
java书籍_还搞不定Java多线程和并发编程面试题?你可能需要这一份书单!
2023-01-24
java序列化_java对象的序列化和反序列化
2023-01-24
java开发区块链_用Java代码实现区块链
2023-01-24
java快捷键eclipse_eclipse的设置和一些快捷键
2023-01-24
java拼车平台(ssm框架毕业设计)
2023-01-24
Java指定区间返回随机数
2023-01-24
Java推动老年人社区服务(毕设源码+mysql+lw)
2023-01-24
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)
2023-01-24
java操作List
2023-01-24
Java操作Sql语句 出现迭代死循环 (Bug排查)
2023-01-24
#Leetcode# 92. Reverse Linked List II
2023-01-24
java攀枝花市房屋租售信息管理平台的设计与实现(ssm)
2023-01-24
java教学团队管理系统(ssm)
2023-01-24
java教学网站(ssm)
2023-01-24
java教学质量管理平台(ssm)
2023-01-24
@Transactional踩坑实践,你能看的出来么?
2023-01-24
java教师信息采集系统(ssm)
2023-01-24
java教师教学质量评估系统(ssm)
2023-01-24