Linux 拨号vps windows公众号手机端

Java怎么获取登录用户的IP地址

lewis 8年前 (2017-02-09) 阅读数 7 #程序编程
文章标签 Java

在Java中获取登录用户的IP地址可以通过以下方法实现:

  1. 使用Servlet获取IP地址:
    在Servlet中,可以通过HttpServletRequest对象的getRemoteAddr()方法获取用户的IP地址。例如:

    String ipAddress = request.getRemoteAddr();
    
  2. 使用Spring框架获取IP地址:
    如果使用Spring框架,可以通过注入HttpServletRequest对象获取用户的IP地址。例如:

    <"https://github.com/Autowired" title="@Autowired" class="at-link" "">@Autowired
    private HttpServletRequest request;
    
    public String getIpAddress() {
        return request.getRemoteAddr();
    }
    

注意:以上方法获取的IP地址可能是代理服务器的IP地址,而不是最终用户的真实IP地址。如果需要获取真实IP地址,可以考虑使用代理服务器的HTTP头信息中的X-Forwarded-ForX-Real-IP字段。例如,在Servlet中可以通过以下方式获取真实IP地址:

String ipAddress = request.getHeader("X-Forwarded-For");
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
    ipAddress = request.getHeader("X-Real-IP");
}
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
    ipAddress = request.getRemoteAddr();
}
版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门