【问题标题】:Get the request sending URL in spring [duplicate]在spring中获取请求发送URL [重复]
【发布时间】:2015-01-14 16:04:54
【问题描述】:

我想存储我收到请求的 URL/IP。

例如我(服务器)收到来自ip地址176.15.14.3的请求。

我想得到那个 ip 地址 176.15.14.3

我可以用 Spring 做到这一点吗?

【问题讨论】:

标签: jsp spring-mvc jakarta-ee servlets


【解决方案1】:

X-Forwarded-For 值为您提供客户端的 IP 地址。您可以在春季获得如下 IP。

String remoteAddress = request.getHeader("X-Forwarded-For");//request--HTTPServletRequest Object
            if (remoteAddress == null) {
                remoteAddress = request.getRemoteAddr();
            }

【讨论】:

  • 你的回答很好。并且正确,如果他们使用代理,但您应该明确说明除非您使用反向代理,否则这将不起作用,以避免混淆
【解决方案2】:

假设您可以访问HttpServletRequest 对象,只需调用 response.getRemoteAddr(),它会返回以字符串表示的远程主机的 ip。

here

【讨论】:

  • 不幸的是,如果您的服务器位于代理服务器后面,它就无法工作——通常是这种情况。 @re350 答案实际上更接近完美。
猜你喜欢
  • 2021-12-12
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2019-03-21
  • 2014-12-29
相关资源
最近更新 更多