【问题标题】:Getting Client IP Address & Session ID on OSGi Eclipse Jetty v9.2在 OSGi Eclipse Jetty v9.2 上获取客户端 IP 地址和会话 ID
【发布时间】:2016-01-04 18:02:03
【问题描述】:

我最近遵循了 Peter Friese here 编写的指南,我很高兴它一切正常。

但是,当 POST 请求通过客户端请求进入时,我无法通过 HttpServletRequest 对象访问信息。

通常,我会通过

访问会话 ID
request.getSession().getId()

并通过

访问客户端IP地址
request.getHeader("x-forwarded-for")

request.getRemoteAddr()

现在,在 Jetty 中,这些信息以空字符串的形式出现,这让我有点难过。

我在本地 Apache Karaf 实例中运行我的包,并安装了“war”和“http”功能。 POST 请求从同一台机器上的 REST 实用程序发出到

 http://127.0.0.1:<port>/<alias>/<path>

有人知道我应该如何检索这些信息吗?

【问题讨论】:

    标签: java servlets jetty osgi embedded-jetty


    【解决方案1】:

    好的,我现在已经设法通过

    获取 SessionID
     String sessionID = request.getSession(true).getId();
    

    现在剩下的就是 IP 地址了。

    【讨论】:

    • 曾经考虑过使用 InetAddress.getLocalHost().getHostAddress()??
    猜你喜欢
    • 1970-01-01
    • 2014-12-29
    • 2019-01-14
    • 2013-07-07
    • 2011-05-26
    • 2019-11-13
    • 1970-01-01
    • 2015-02-28
    • 2011-01-08
    相关资源
    最近更新 更多