java获取useragent_Java获取访问者的userAgent,系统和浏览器版本

最近做项目中,我碰到取客户端浏览器和操作系统信息的问题,网上找了很久,大多都是在页面中嵌入JS实现的,无法满足我的要求。所以,就自己写了个方法。我是根据每个浏览器User-Agent的特征,来判断的。

通过request获取userAgentString userAgent = request.getHeader("User-Agent");

创建一个UserAgentUtil

将userAgent作为参数传入UserAgentUtil类中public class UserAgentUtil {

public static Visit getUserAgent(String userAgent) {

if(userAgent==""||userAgent==null){

userAgent="";

}

if (userAgent.contains("Windows")) {

if (userAgent.contains("Windows NT 10.0")) {

return judgeBrowser(userAgent, "Windows 10");

} else if (userAgent.contains("Windows NT 6.2")) {

return judgeBrowser(userAgent, "Windows 8");

} else if (userAgent.contains("Windows NT 6.1")) {

return judgeBrowser(userAgent, "Windows 7" );

} else if (userAgent.contains("Windows NT 6.0")) {

return judgeBrowser(userAgent, "Windows Vista");

} else if (userAgent.contains("Windows NT 5.2")) {

return judgeBrowser(userAgent, "Windows XP");

} else if (userAgent.contains("Windows NT 5.1")) {

return judgeBrowser(userAgent, "Windows XP");

} else if (userAgent.contains("Windows NT 5.01")) {

return judgeBrowser(userAgent, "Windows 2000");

} else if (userAgent.contains("Windows NT 5.0")) {

return judgeBrowser(userAgent, "Windows 2000");

} else if (userAgent.contains("Windows NT 4.0")) {

return judgeBrowser(userAgent, "Windows NT 4.0");

} else if (userAgent.contains("Windows 98; Win 9x 4.90")) {

return judgeBrowser(userAgent, "Windows ME");

} else if (userAgent.contains("Windows 98")) {

return judgeBrowser(userAgent, "Windows 98");

} else if (userAgent.contains("Windows 95")) {

return judgeBrowser(userAgent, "Windows 95");

} else if (userAgent.contains("Windows CE")) {

return judgeBrowser(userAgent, "Windows CE");

}

} else if (userAgent.contains("Mac OS X")) {

if(userAgent.contains("iPhone")){

return judgeBrowser(userAgent, "iPhone");

}

else if (userAgent.contains("iPad")) {

return judgeBrowser(userAgent, "iPad");//判断系统

}else{

return judgeBrowser(userAgent, "Mac");//判断系统

}

}else if(userAgent.contains("Android")){

return judgeBrowser(userAgent, "Android");//判断系统

}else if(userAgent.contains("Linux")){

return judgeBrowser(userAgent, "Linux");//判断系统

}else if(userAgent.contains("FreeBSD")){

return judgeBrowser(userAgent, "FreeBSD");//判断系统

}else if(userAgent.contains("Solaris")){

return judgeBrowser(userAgent, "Solaris");//判断系统

}

return judgeBrowser(userAgent, "其他");

}

private static Visit judgeBrowser(String userAgent, String platformType) {

if (userAgent.contains("Edge")) {

return new Visit("Microsoft Edge", platformType);

}else if(userAgent.contains("QQBrowser")){

return new Visit("腾讯浏览器", platformType);

}else if (userAgent.contains("Chrome")&&userAgent.contains("Safari")) {

return new Visit("Chrome", platformType);

} else if (userAgent.contains("Firefox")) {

return new Visit("Firefox",platformType);

}else if (userAgent.contains("360")) {//Internet Explorer 6

return new Visit("360浏览器", platformType);

}else if (userAgent.contains("Opera")) {//Internet Explorer 6

return new Visit("Opera", platformType);

}else if (userAgent.contains("Safari")&&!userAgent.contains("Chrome")) {

return new Visit("Safari", platformType);

}else if (userAgent.contains("MetaSr1.0")) {//Internet Explorer 6

return new Visit("搜狗浏览器", platformType);

}else if (userAgent.contains("TencentTraveler")) {//Internet Explorer 6

return new Visit("腾讯浏览器", platformType);

}else if (userAgent.contains("UC")) {//Internet Explorer 6

return new Visit("UC浏览器", platformType);

}else if (userAgent.contains("MSIE")) {

if (userAgent.contains("MSIE 10.0")) {//Internet Explorer 10

return new Visit("IE 10", platformType);

} else if (userAgent.contains("MSIE 9.0")) {//Internet Explorer 9

return new Visit("IE 9", platformType);

} else if (userAgent.contains("MSIE 8.0")) {//Internet Explorer 8

return new Visit("IE 8", platformType);

} else if (userAgent.contains("MSIE 7.0")) {//Internet Explorer 7

return new Visit("IE 7", platformType);

} else if (userAgent.contains("MSIE 6.0")) {//Internet Explorer 6

return new Visit("IE 6", platformType);

}

} else {//暂时支持以上三个主流.其它浏览器,待续...

return new Visit("其他", platformType);

}

return new Visit("其他", platformType);

}

}

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1232.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值