java获取服务器IP,获取客户端IP

//服务器IP
session.setAttribute("localAddr",request.getLocalAddr());
//客户端IP
RemoteAddr addr=new RemoteAddr();
session.setAttribute("remoteAddr",addr.getRemoteAddr(request));

RemoteAddr类

package com.hbsc.util;

import org.apache.commons.lang3.StringUtils;

import javax.servlet.http.HttpServletRequest;

public class RemoteAddr {
    /**
     * 获得用户远程地址
     */
    public String getRemoteAddr(HttpServletRequest request) {
        String remoteAddr = request.getHeader("X-Forwarded-For");
        if (StringUtils.isNotBlank(remoteAddr) && !"unknown".equalsIgnoreCase(remoteAddr)) {
            // 多次反向代理后会有多个IP值,第一个为真实IP。
            int index = remoteAddr.indexOf(',');
            if (index != -1) {
                remoteAddr = remoteAddr.substring(0, index);
            }
        } else {
            remoteAddr = request.getHeader("X-Real-IP");
        }
        return remoteAddr != null ? remoteAddr : request.getRemoteAddr();
    }

}

 


版权声明:本文为qq_37766224原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。