`
hzh0725
  • 浏览: 82256 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

request.getRemoteAddr方法为null

    博客分类:
  • java
阅读更多
  • 在单独servlet container 里,request.getRemoteAddr得到远程的ip地址,request.getRemoteHost()跟request.getRemoteAddr()一样
  • jetty 代码片段
  • public String getRemoteAddr()
        {
            if (_remoteAddr != null)
                return _remoteAddr;	
            return _endp==null?null:_endp.getRemoteAddr();
        }
    
        /* ------------------------------------------------------------ */
        /* 
         * @see javax.servlet.ServletRequest#getRemoteHost()
         */
        public String getRemoteHost()
        {
            if (_dns)
            {
                if (_remoteHost != null)
                {
                    return _remoteHost;
                }
                return _endp==null?null:_endp.getRemoteHost();
            }
            return getRemoteAddr();
        }
     
  • 但通过apache做转发的话,一般request.getRemoteAddr==null,但apache一般是不会丢信息的,所以可以留心request里面head信息,一般可以通过request.getHeader( "x-forwarded-for" )得到remote ip
分享到:
评论

相关推荐

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

    3. **request.getRemoteAddr()**:如果以上头部都无法提供有效信息,则最后使用该方法作为备选方案。需要注意的是,这种方法在反向代理环境中通常只能获取到代理服务器的IP地址。 #### 注意事项 - 在处理`X-...

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

    然而,在实际应用场景中,客户端请求往往经过了多级代理(如Apache、Squid等),这使得直接使用`request.getRemoteAddr()`方法获取到的IP地址并不是客户端的真实IP,而是代理服务器的IP地址。 例如,在使用Apache或...

    jsp页面得到客户端的真是ip

    如果该字段不存在或为空,则使用 `request.getRemoteAddr()` 方法获取 IP 地址。 #### 三、处理特殊情况 在实际应用中,可能还会遇到一些特殊情况,例如 `X-Forwarded-For` 的值为 `unknown` 或者被多个 IP 地址...

    JSP获取HTTP header信息(request)例子

    - `request.getRemoteAddr()`: 返回发起请求的客户端IP地址。 - `request.getRemoteHost()`: 返回发起请求的客户端主机名。 2. **编码与内容信息** - `request.getCharacterEncoding()`: 返回请求的字符编码集...

    获取客户端ip

    尤其是在存在代理服务器的情况下,传统的`request.getRemoteAddr()`方法可能无法直接获取到客户端的真实IP地址。本文将详细介绍如何在不同的场景下获取客户端的真实IP地址。 #### 传统方法:`request.getRemoteAddr...

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

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

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

    #### 方法一:使用`request.getRemoteAddr()` 最简单的方法是使用`HttpServletRequest`中的`getRemoteAddr()`方法。这个方法返回的是客户端发送请求时所使用的IP地址。但是,当请求经过代理服务器时,这个方法通常...

    JSP获取客户端IP地址浏览器版本操作系统.pdf

    如果这个方法返回null,那么我们可以使用`request.getRemoteAddr()`方法来获取IP地址。 在使用多级反向代理的情况下,`X-Forwarded-For`的值可能是一串IP值,我们需要取第一个非unknown的有效IP字符串作为客户端的...

    JSP获取客户端IP地址-浏览器版本-操作系统[参考].pdf

    在 JSP 中,获取客户端的 IP 地址可以使用 `request.getRemoteAddr()` 方法。但是,这种方法在大部分情况下都是有效的,但是在通过了 Apache、Squid 等反向代理软件时就不能获取到客户端的真实 IP 地址了。在这种...

    Java根据Request获取客户端IP

    在JSP中,获取客户端IP地址的方法是使用request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是,如果使用了反向代理软件,如Apache、Squid等,request.getRemoteAddr() 方法获取的IP地址将不是客户端的...

    jsp获取客户端IP地址的方法.docx

    ### JSP 获取客户端IP地址的方法详解 ...通过上述方法,开发者可以更准确地获取客户端的真实IP地址,从而为后续的安全控制、数据统计等操作提供支持。希望本文能帮助到正在寻找解决方案的读者们。

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

    #### 方法一:基本的`request.getRemoteAddr()` 最简单的方式是通过`HttpServletRequest`对象调用`getRemoteAddr()`方法来获取客户端IP地址。这个方法在大多数情况下能够正确地返回客户端的IP地址,但在客户端请求...

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

    在上述代码中,`HttpServletRequest`的`getRemoteAddr()`方法用于获取客户端的IP地址。然而,如果应用部署在反向代理服务器(如Nginx)后,这个方法可能返回的是代理服务器的IP,而非实际用户的IP。这时,我们可以...

    java获取客户端ip及mac地址

    `request.getRemoteAddr()` 是一种简单但并不总是准确的方法。此方法返回客户端的 IP 地址,但在经过代理服务器的情况下(如 Apache 或 Squid),可能会返回代理服务器的 IP 地址而非客户端的真实 IP 地址。因此,在...

    jsp获取浏览者真实IP地址方法

    #### 基础方法:request.getRemoteAddr() 通常,开发人员会首先尝试使用`HttpServletRequest`接口中的`getRemoteAddr()`方法来获取客户端的IP地址。这个方法在没有代理服务器的直连环境中表现良好,但当客户端请求...

    Java获取客户端真实IP地址

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

    WebService

    例如,通过`getRemoteAddr()`方法获取的IP地址可能会被伪造,因此在处理敏感信息时应采取额外的安全措施。 以上内容为WebService的基本实现及CXF框架的简要介绍,并特别针对获取客户端IP地址这一具体操作进行了详细...

    java获取ip地址示例

    在没有使用反向代理服务器的情况下,通过HttpServletRequest对象的`getRemoteAddr()`方法可以直接获取到客户端的IP地址。然而,当网络环境中存在Apache、Squid这样的反向代理软件时,这种方法就不再有效,因为它返回...

    java webservice服务器端获取request对象的三种方式

    该方法首先尝试从`x-forwarded-for`、`Proxy-Client-IP`和`WL-Proxy-Client-IP`这些HTTP头部字段中获取IP地址,如果这些字段都不存在或为空,则直接使用`request.getRemoteAddr()`方法来获取客户端的IP地址。...

    JSP 获取真实IP地址的代码

    然而,直接使用`request.getRemoteAddr()`方法并不总能获取到真实的客户端IP,尤其是在网络架构中引入了反向代理服务器如Apache、Nginx或Squid等时。反向代理服务器会作为客户端与服务器之间的中介,处理客户端的...

Global site tag (gtag.js) - Google Analytics