java How to Obtain User Login ip Browser Information SessionId

  • 2021-12-11 07:32:17
  • OfStack

The directory java obtains the user login ip, browser information, SessionId1, obtains the user login ip2, obtains the browser information used by the user 3, obtains the user SessionId obtains the user login ip address (considering the situation of various request headers)

java obtains user login ip, browser information, SessionId

1. Get the user login ip


// Get user login ip;
String loginIp = request.getHeader("X-Forwarded-For");
if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
    loginIp = request.getHeader("X-Real-IP");
}
if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
    loginIp = request.getHeader("Proxy-Client-IP");
}
if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
    loginIp = request.getHeader("WL-Proxy-Client-IP");
}
if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
    loginIp = request.getHeader("HTTP_CLIENT_IP");
}
if (loginIp == null || loginIp.length() == 0 || "unknown".equalsIgnoreCase(loginIp)) {
    loginIp = request.getRemoteAddr();
}

2. Get the browser information used by the user


/**
* Get browser information ;
*/
String ua = request.getHeader("User-Agent");
// Turn into UserAgent Object 
UserAgent userAgent = UserAgent.parseUserAgentString(ua); 
Browser browser = userAgent.getBrowser();
String browserInfo=browser.toString();// Browser name 

3. Obtain the user SessionId


request.getSession().getId();

Get the ip address where the user logs in (considering multiple request headers)

This code is found on the Internet, pass on an HttpServletRequest request, and use it directly


public class IpUtil {
    /**
     *  Get the login user IP Address 
     *
     * @param request
     * @return
     */
    public static String getIpAddr(HttpServletRequest request) {
        String ip = request.getHeader("x-forwarded-for");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        if (ip.equals("0:0:0:0:0:0:0:1")) {
            ip = " Local ";
        }
        return ip;
    }
}

Related articles: