package utils;
import javax.servlet.http.HttpServletRequest;
public class IPUtil {
public static String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(null == ip || 0 == ip.length() || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(null == ip || 0 == ip.length() || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(null == ip || 0 == ip.length() || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
}
if(null == ip || 0 == ip.length() || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
分享到:
相关推荐
如果这个方法返回null,那么我们可以使用`request.getRemoteAddr()`方法来获取IP地址。 在使用多级反向代理的情况下,`X-Forwarded-For`的值可能是一串IP值,我们需要取第一个非unknown的有效IP字符串作为客户端的...
这种方法在大部分情况下都是有效的,但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:3306/ 的URL反向代理为http://www.8888.com/ 的...
### JSP中获取浏览者真实IP地址的详细解析 在Web开发中,获取客户端的IP地址是一项基础且重要的功能,特别是在需要追踪用户地理位置、限制访问权限或是进行数据分析时。然而,在复杂的网络环境中,如存在代理服务器...
在上述代码中,首先尝试从各个可能的HTTP头字段中读取IP地址,如果这些字段不存在或者值为空、不可识别("unknown"),则通过getRemoteAddr()方法获取IP地址作为备选。getRemoteAddr()方法通常会返回客户端直接连接...
在开发Web应用程序时,有时我们需要获取...通过整合Java后端和JSP前端,实现了从获取IP到展示地理位置信息的完整流程。开发者可以根据实际需求对这些组件进行扩展和定制,例如添加日志功能,提升安全性,或者优化性能。
在IT行业中,获取IP地址是一项基础且重要的任务,特别是在网络通信和服务器开发中。这篇文章将详细探讨“获取IP地址的方法与示例”,并基于提供的标签“源码”和“工具”进行深入解析。 首先,我们需要了解什么是IP...
因此,在实际应用中,我们需要优先尝试从请求头中获取IP地址,例如`X-Forwarded-For`等。 ```java public static String getRealIp(HttpServletRequest request) { String ip = request.getHeader("X-Forwarded-...
#### 三、在Linux环境下获取IP地址 在Linux环境中,可以通过`InetAddress`类来获取主机的IP地址。但是需要注意的是,对于多网卡的情况,需要遍历所有网络接口来找到正确的IP地址。 **示例代码**: ```java public...
2. **处理 `X-Forwarded-For`**:如果`X-Real-IP`不存在或为"unknown",则从`X-Forwarded-For`头中获取IP地址。该头部可能包含多个IP地址,通过逗号分隔。此时取第一个IP地址作为客户端的真实IP地址。 3. **处理 `...
"JSP获取客户端IP地址-浏览器版本-操作系统" 在 JSP 中,获取客户端的 IP 地址、浏览器版本和操作系统信息是一项重要的任务。下面我们将详细介绍如何获取这些信息。 获取客户端的 IP 地址 在 JSP 中,获取客户端...
在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...
1. 首先尝试从HttpServletRequest的`getHeader("X-Forwarded-For")`获取IP地址,这个值可能会包含多个IP,客户端IP通常是列表中的第一个。 2. 如果`X-Forwarded-For`为空或不可靠,再使用`getRemoteAddr()`获取IP...
总结一下,这个JSP实现的IP地址查询应用利用了JSP的`request`对象获取用户IP,通过与纯真IP数据库结合,实现了类似QQ的IP显示效果。在实际开发中,可能还需要考虑错误处理、性能优化以及数据库的定期更新,以确保...
在Java编程中,获取IP地址和MAC地址是网络通信中常见的需求。IP地址标识了网络上的唯一设备,而MAC地址则是物理网络接口的唯一标识。以下是对标题和描述中涉及的知识点的详细解释: 1. **获取客户端IP地址**: - ...
但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。 ...
本文将详细介绍如何在 JSP 页面中获取客户端的真实 IP 地址,并考虑到反向代理技术的影响。 #### 一、理解 `request.getRemoteAddr()` 和 `request.getHeader("x-forwarded-for")` 1. **`request.getRemoteAddr()`...
- `request.getRemoteAddr()`: 返回发起请求的客户端IP地址。 - `request.getRemoteHost()`: 返回发起请求的客户端主机名。 2. **编码与内容信息** - `request.getCharacterEncoding()`: 返回请求的字符编码集...
获取访问者IP地址的技术主要涉及到Servlet或JSP中的HTTP请求对象。在Java Servlet中,我们可以使用`HttpServletRequest`接口的`getRemoteAddr()`方法来获取客户端的IP地址。例如: ```java protected void doGet...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 ...
### jsp中获取地址的写法详解 在Java Server Pages (JSP) 技术中,经常需要获取当前页面所在的上下文路径(context path)以及基础路径(base path),这对于实现资源定位、URL重写等功能非常重要。下面我们将详细介绍...