首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在java中从request中获取ip?

如何在java中从request中获取ip?
EN

Stack Overflow用户
提问于 2014-12-17 17:45:25
回答 3查看 3.5K关注 0票数 1

我已经把我的代码上传到服务器上了。

我正在使用:

代码语言:javascript
复制
 String ipAddress1 = FrameworkUtil.getServletRequest().getHeader("Remote_Addr");
 System.out.println("Remote_Addr ipAddress===>"+ipAddress1);

 String ipAddress = FrameworkUtil.getServletRequest().getHeader("HTTP_X_FORWARDED_FOR");
 System.out.println("HTTP_X_FORWARDED_FOR ipAddress==>"+ipAddress);

  if (ipAddress == null) {
        ipAddress = FrameworkUtil.getServletRequest().getRemoteAddr();
        System.out.println(" getRemoteAddr ipAddress=>"+ipAddress);
    }

我得到了:

代码语言:javascript
复制
 Remote_Addr ipAddress===>null
 HTTP_X_FORWARDED_FOR ipAddress==>null
 getRemoteAddr ipAddress=>127.0.0.1

但在谷歌中,myip But me:233.233.22.331

我应该怎么做才能在java中获得它??

EN

回答 3

Stack Overflow用户

发布于 2014-12-17 17:59:30

如果您想从request中获取IP,以下内容将对您有所帮助:

代码语言:javascript
复制
    String ip = null;

    if (request.getHeader("X-Forwarded-For") != null) {
        String xForwardedFor = request.getHeader("X-Forwarded-For");
        if (xForwardedFor.indexOf(",") != -1) {
            ip = xForwardedFor.substring(xForwardedFor.lastIndexOf(",") + 2);
        } else {
            ip = xForwardedFor;
        }
    } else {
        ip = request.getRemoteAddr();
    }

    System.out.println("Request from IP : "+ip);
票数 1
EN

Stack Overflow用户

发布于 2014-12-17 17:52:02

尝尝这个。它将返回您的局域网IP(ServerIP)

代码语言:javascript
复制
        InetAddress ip = InetAddress.getLocalHost();
        System.out.println("Current IP address : " + ip.getHostAddress());

用于java web应用程序。如果你想要你的访问者的IP

代码语言:javascript
复制
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
    ipAddress = request.getRemoteAddr();
}
System.out.println("ipAddress:" + ipAddress);
票数 0
EN

Stack Overflow用户

发布于 2014-12-17 18:00:08

这段代码将为您提供IP地址。

代码语言:javascript
复制
String ipaddress = req.getHeader("X-FORWARDED-FOR");
            if (ipaddress == null) {
                ipaddress = req.getRemoteAddr();
            }
    return ipaddress;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27522559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档