0
点赞
收藏
分享

微信扫一扫

在后台获取浏览器的名称和版本号


public final class InvokeClientUtil {


private InvokeClientUtil() {

}


public static final String UNKOWN_INVOKER = "unknown client";


public static final Pattern IE_REXP = Pattern.compile("msie ([\\d.]+)");

public static final Pattern FIREFOX_REXP = Pattern.compile("firefox/([\\d.]+)");

public static final Pattern CHROME_REXP = Pattern.compile("chrome/([\\d.]+)");

public static final Pattern OPERA_REXP = Pattern.compile("opera.([\\d.]+)");

public static final Pattern SAFARI_REXP = Pattern.compile("version/([\\d.]+).*safari");




public static String getBrowser(String userAgent) {

if (StringUtil.isEmpty(userAgent)) {

throw new NullPointerException("userAgent");

}


String browser = UNKOWN_INVOKER;

String lowerUAgent = userAgent.toLowerCase();


Matcher ieMatcher = IE_REXP.matcher(lowerUAgent);

Matcher ffMatcher = FIREFOX_REXP.matcher(lowerUAgent);

Matcher chMatcher = CHROME_REXP.matcher(lowerUAgent);

Matcher opMatcher = OPERA_REXP.matcher(lowerUAgent);

Matcher saMatcher = SAFARI_REXP.matcher(lowerUAgent);


if (ieMatcher.find()) {

browser = ieMatcher.group();

} else if (ffMatcher.find()) {

browser = ffMatcher.group();

} else if (chMatcher.find()) {

browser = chMatcher.group();

} else if (opMatcher.find()) {

browser = opMatcher.group();

} else if (saMatcher.find()) {

browser = saMatcher.group();

}


return browser;

}
}
//通过消息头获取“User-Ahent”,
// Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22
String us = request.getHeader("User-Agent");
System.out.println(us); System.out.println(InvokeClientUtil.getBrowser(us));


举报

相关推荐

0 条评论