`
tang9140
  • 浏览: 34579 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java中Request获取真实ip

 
阅读更多
/**
 * <通用功能辅助类>
 */
public class CommonHelper {
    
    
    /**
     * <从request对象中获取用户IP地址>
     * @param request
     * @return IP地址
     */
    public static String getIp(HttpServletRequest request) {
        String forwards = request.getHeader("x-forwarded-for");
        if (StringUtils.isBlank(forwards) || "unknown".equalsIgnoreCase(forwards)) {
            forwards = request.getHeader("Proxy-Client-IP");
        }
        if (StringUtils.isBlank(forwards) || "unknown".equalsIgnoreCase(forwards)) {
            forwards = request.getHeader("WL-Proxy-Client-IP");
        }
        if (StringUtils.isBlank(forwards) || "unknown".equalsIgnoreCase(forwards)) {
            forwards = request.getRemoteAddr();
        }
        if (StringUtils.isBlank(forwards) || "unknown".equalsIgnoreCase(forwards)) {
            forwards = request.getHeader("X-Real-IP");
        }
        if (forwards != null && forwards.trim().length() > 0) {
            int index = forwards.indexOf(',');
            return (index != -1) ? forwards.substring(0, index) : forwards;
        }
        return forwards;
    }
    
    /** This class should not be instantiated. */
    private CommonHelper() {
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    java非常强的获取客户端真实IP的两种方法

    #### 二、获取真实IP的第一种方法 为了获取客户端的真实IP地址,可以利用HTTP头部中的`X-Forwarded-For`字段。当请求经过反向代理时,这个字段会包含原始客户端IP地址的信息。以下是一个简单的示例代码: ```java ...

    IpUtil工具类--通过request获取IP,通过IP获取地址

    IpUtil工具类--通过request获取IP,通过IP获取地址(需要联网,调用淘宝的IP库)。使用场景:在网站开发记录用户增删改查日志的时候,往往需要记录操作人的IP地址,来准确的生成操作日志记录等

    IP工具类,通过传入的request获取ip地址(JAVA)

    同样,如果在反向代理环境中,我们需要检查`X-Forwarded-For`头来获取真实的IP: ```java String forwardedFor = request.getHeaders().getFirst("X-Forwarded-For"); if (forwardedFor != null) { ipAddress = ...

    Java获取客户端真实IP地址

    然而,在存在反向代理服务器的环境中,传统的`request.getRemoteAddr()`方法可能无法直接获取到客户端的真实IP地址。这是因为当请求经过反向代理(如Apache、Squid等)后,原始的IP地址会被代理服务器所替代,导致...

    java socket 用户真实IP测试

    在标题“java socket nginx tcp转发 用户真实IP测试”中,主要探讨的是如何在Java的Socket连接中,通过Nginx的TCP转发获取到实际用户的IP地址。 在描述中提到的博客文章,很可能是详细介绍了这个问题的解决方案。...

    用Java来获取访问者真实的IP地址

    ### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅有助于网站统计分析,还可以用于安全控制、地域限制等功能。然而,在使用如Apache、Squid等反向代理服务器的情况下...

    java 获取客户端ip mac地址

    如果需要获取真实的客户端IP地址,还需要检查HTTP头部信息中的`X-Forwarded-For`字段。 #### 二、获取客户端 MAC 地址 获取客户端的MAC地址相对较为复杂,一般不推荐直接在Web应用中实现该功能。但在某些特定场景...

    java IP地址工具类,java IP地址获取,java获取客户端IP地址

    在Java编程中,获取IP地址是一项常见的任务,特别是在网络编程和服务器开发中。这个"java IP地址工具类"是为了解决这个问题而设计的。它提供了便捷的方法来获取和处理IP地址,尤其对于获取客户端IP地址在Web应用中至...

    Java根据Request获取客户端IP

    Java根据Request获取客户端IP是指在Java Web开发中获取客户端的IP地址,以便进行相应的处理和分析。在JSP中,获取客户端IP地址的方法是使用request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是,如果...

    java获取用户真实ip

    总之,通过上述方法可以在Java中有效地获取到客户端的真实IP地址,这对于许多应用场景都是非常有用的。同时,在实现过程中还需要注意处理各种特殊情况,确保获取到的数据准确无误,并且符合相关的安全与隐私规定。

    Java获取客户端IP及Mac地址(同网段).rar

    如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址...

    获取客户端真实IP(支持代理服务器)

    然而,在实际应用中,很多情况下用户的请求会经过反向代理服务器(如Nginx、Squid等),这使得直接使用`request.getRemoteAddr()`方法获取到的IP地址往往并不是客户端的真实IP地址。 #### 二、问题分析 当客户端...

    java获取客户端ip及mac地址

    1. **获取 IP 地址**:使用 `request.getRemoteAddr()` 可能会获取到代理服务器的 IP 地址,而通过检查 `X-Forwarded-For` 请求头可以更准确地获取客户端的真实 IP 地址。 2. **获取 MAC 地址**:虽然可以通过执行...

    Java中使用HttpRequest获取用户真实IP地址

    主要介绍了Java中使用HttpRequest获取用户真实IP地址,使用本文方法可以避免Apache、Squid、nginx等反向代理软件导致的非真实IP地址,需要的朋友可以参考下

    java中怎么获取客户端的真实的IP

    ### Java中如何获取客户端的真实IP 在Web开发中,获取客户端的真实IP地址是非常重要的功能之一。这不仅对于网站统计分析有重要意义,同时在安全性方面,比如进行地理定位、防止恶意攻击等方面也是必不可少的功能。...

    Java利用Request请求获取IP地址的方法详解

    首先,我们需要了解的是,当用户通过代理服务器或者负载均衡设备访问Web服务时,直接通过`request.getRemoteAddr()`方法获取到的IP地址可能是代理服务器的IP,而不是用户的真实IP。因此,我们需要检查多个HTTP头部...

    java获取ip地址示例

    总的来说,获取Java Web应用中的客户端IP地址需要考虑网络架构中的反向代理因素,通过检查`X-Forwarded-For`等HTTP头部来获取真实的客户端IP,同时注意防止潜在的安全风险。在处理多级反向代理时,应正确解析`X-...

    idea,java获取ip地址

    当我们构建一个基于Servlet的Web应用程序时,有时需要获取访问用户的真实IP地址,这在处理用户请求、日志记录或者实现地理位置相关的功能时尤为关键。 Servlet是Java服务器端的一种组件,它扩展了Web服务器的功能,...

    用Java来获取访问者真实的IP地址.txt

    ### 使用Java获取访问者真实IP地址 在现代Web开发中,获取客户端的真实IP地址是非常重要的。这不仅可以用于统计分析、安全审计,还可以帮助提供更好的用户体验。然而,在通过代理服务器(如Apache、Squid等)转发...

    Java获取客户端真实IP地址过程解析

    // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址 String headerName = "x-forwarded-for"; String ip = request.getHeader(headerName); if (null != ip && ip.length() != 0 && !"unknown...

Global site tag (gtag.js) - Google Analytics