java如何获取用户登录ip、浏览器信息、SessionId
时间:2022-06-07 09:20:32|栏目:JAVA代码|点击: 次
java获取用户登录ip、浏览器信息、SessionId
1、获取用户登录ip
//获取用户登录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、获取用户所使用的浏览器信息
/**
*获取浏览器信息;
*/
String ua = request.getHeader("User-Agent");
//转成UserAgent对象
UserAgent userAgent = UserAgent.parseUserAgentString(ua);
Browser browser = userAgent.getBrowser();
String browserInfo=browser.toString();//浏览器名
3、获取用户SessionId
request.getSession().getId();
获取用户登录的ip地址(考虑多种请求头的情况)
这段代码网上找的,传一个HttpServletRequest request就行,直接用
public class IpUtil {
/**
* 获取登录用户IP地址
*
* @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 = "本地";
}
return ip;
}
}
栏 目:JAVA代码
下一篇:使用JPA进行CriteriaQuery进行查询的注意事项
本文标题:java如何获取用户登录ip、浏览器信息、SessionId
本文地址:http://www.codeinn.net/misctech/204002.html


阅读排行
- 1Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 2Java Swing组件BoxLayout布局用法示例
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4java中-jar 与nohup的对比
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7解析SpringSecurity+JWT认证流程实现
- 8java读取excel文件的两种方法
- 9深入解析java虚拟机
- 10spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)




