java browser 类_BrowserUtil.java

package cn.wmyskxz.blog.util;

import javax.servlet.http.HttpServletRequest;

/**

* 用于从Request请求中获取到客户端的获取操作系统,浏览器及浏览器版本信息

*

* @author:wmyskxz

* @create:2018-06-21-上午 8:40

*/

public class BrowserUtil {

/**

* 获取操作系统,浏览器及浏览器版本信息

*

* @param request

* @return

*/

public static String getOsAndBrowserInfo(HttpServletRequest request) {

String browserDetails = request.getHeader("User-Agent");

String userAgent = browserDetails;

String user = userAgent.toLowerCase();

String os = "";

String browser = "";

//=================OS Info=======================

if (userAgent.toLowerCase().indexOf("windows") >= 0) {

os = "Windows";

} else if (userAgent.toLowerCase().indexOf("mac") >= 0) {

os = "Mac";

} else if (userAgent.toLowerCase().indexOf("x11") >= 0) {

os = "Unix";

} else if (userAgent.toLowerCase().indexOf("android") >= 0) {

os = "Android";

} else if (userAgent.toLowerCase().indexOf("iphone") >= 0) {

os = "IPhone";

} else {

os = "UnKnown, More-Info: " + userAgent;

}

//===============Browser===========================

if (user.contains("edge")) {

browser = (userAgent.substring(userAgent.indexOf("Edge")).split(" ")[0]).replace("/", "-");

} else if (user.contains("msie")) {

String substring = userAgent.substring(userAgent.indexOf("MSIE")).split(";")[0];

browser = substring.split(" ")[0].replace("MSIE", "IE") + "-" + substring.split(" ")[1];

} else if (user.contains("safari") && user.contains("version")) {

browser = (userAgent.substring(userAgent.indexOf("Safari")).split(" ")[0]).split("/")[0]

+ "-" + (userAgent.substring(userAgent.indexOf("Version")).split(" ")[0]).split("/")[1];

} else if (user.contains("opr") || user.contains("opera")) {

if (user.contains("opera")) {

browser = (userAgent.substring(userAgent.indexOf("Opera")).split(" ")[0]).split("/")[0]

+ "-" + (userAgent.substring(userAgent.indexOf("Version")).split(" ")[0]).split("/")[1];

} else if (user.contains("opr")) {

browser = ((userAgent.substring(userAgent.indexOf("OPR")).split(" ")[0]).replace("/", "-"))

.replace("OPR", "Opera");

}

} else if (user.contains("chrome")) {

browser = (userAgent.substring(userAgent.indexOf("Chrome")).split(" ")[0]).replace("/", "-");

} else if ((user.indexOf("mozilla/7.0") > -1) || (user.indexOf("netscape6") != -1) ||

(user.indexOf("mozilla/4.7") != -1) || (user.indexOf("mozilla/4.78") != -1) ||

(user.indexOf("mozilla/4.08") != -1) || (user.indexOf("mozilla/3") != -1)) {

browser = "Netscape-?";

} else if (user.contains("firefox")) {

browser = (userAgent.substring(userAgent.indexOf("Firefox")).split(" ")[0]).replace("/", "-");

} else if (user.contains("rv")) {

String IEVersion = (userAgent.substring(userAgent.indexOf("rv")).split(" ")[0]).replace("rv:", "-");

browser = "IE" + IEVersion.substring(0, IEVersion.length() - 1);

} else {

browser = "UnKnown, More-Info: " + userAgent;

}

return os + "-" + browser;

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值