在后台获取浏览器的名称和版本号
来源:互联网 发布:如果不爱我 网络歌手 编辑:程序博客网 时间:2024/04/28 23:37
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;
}
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));
- 在后台获取浏览器的名称和版本号
- 获取浏览器名称和版本号
- js获取、比较浏览器名称和版本号的简便方法
- php获取浏览器的名称,及版本号
- 获取当前app的名称和版本号
- 获取应用程序的名称和版本号
- 获取当前app的名称和版本号
- 获取版本名称和版本号
- java 获取浏览器名称及版本号
- 获取当前浏览器的类型和版本号
- 应用程序的名称和版本号等详细信息的获取
- checkbox在后台java的获取方法
- iphone开发--获取当前app的名称和版本号
- iphone开发--获取当前app的名称和版本号
- Android获取应用程序的版本名称和版本号
- 获取当前应用的版本名称和版本号
- Android获取App的版本名称和版本号
- 获取应用版本名称和版本号的方法
- 如何提高个人开源网站源码开发利用率
- 作为开发者,你不应该害怕的 8 件事
- XP 和 Win7 中关闭 Thumbs.db
- 关于oop错误定位的学习(转)
- 提高 Linux 上 socket 性能
- 在后台获取浏览器的名称和版本号
- Eclipse快捷键 10个最有用的快捷键
- pkg-config指南
- 字符设备驱动内核框架小结(一)
- vb.net(vs2010)读取配置文件
- 解决yii的CGridView在高级搜索选项过多时点分页后php崩溃的情况
- 获取sql语句影响的数据条数并打印到表格
- c中的宏定义
- c语言中关于字符串的一些常规处理