J2EE中获取IP地址

简介:

在JSP里,获取客户端的IP地址的方法是request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。


protected String getIpAddr() {  
    HttpServletRequest request = ServletActionContext.getRequest();  
    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.getRemoteAddr();  
    }  
    return ip;  

原帖地址:http://blog.csdn.net/smcwwh/article/details/6255324

目录
相关文章
|
4天前
C切断地址
C切断地址
9 0
|
1月前
|
开发工具
修改IP地址
【2月更文挑战第29天】修改IP地址。
20 2
|
8月前
|
网络协议 网络架构 C++
一文搞定IP地址
本文详细的介绍了IP地址的所有细节,学习完本章小白将打下坚实的基础
|
2月前
|
网络协议 CDN
IP地址相关讲解
IP地址相关讲解
15 0
|
域名解析 测试技术
IP地址是什么?IP地址和私有地址范围详解
IP地址是什么?IP地址和私有地址范围详解
139 0
IP地址是什么?IP地址和私有地址范围详解
|
开发者 Python
什么是 ip 地址 | 学习笔记
快速学习 什么是 ip 地址
179 0
什么是 ip 地址 | 学习笔记
|
网络协议 网络架构 数据格式
IP 地址
IP网络地址采用“网络●主机”的形式,其中网络部分是网络的地址编码,主机部分是网 络中一个主机的地址编码。IP 地址的格式如图下所示。
311 0
IP 地址
|
Java 应用服务中间件 nginx
java 获取IP地址 无法获取到真实的IP地址
java 获取IP地址 无法获取到真实的IP地址
393 0
|
网络架构 开发者
IP地址|学习笔记
快速学习IP地址
117 0
IP地址|学习笔记
|
网络协议
IP地址表达方式
## IP地址表达 IPv4地址是四个字节表述,最大表示范围是 255.255.255.255 ## 网络区域 首先在 255.255.255.255 这么大的一个网络中有(4,294,967,294个可用IP),一台计算机在这么大一群网络地址中想要快速路由到最终主机上很难实现,这相当于网络设备在转发数据包时,要在约 40亿次的查找才能找到最终的目标主机。 同时为了更
3070 0