java 通过userAgent获取访问者的操作系统与浏览器
来源:互联网 发布:epub转pdf mac 编辑:程序博客网 时间:2024/05/16 17:17
StringBuilder userAgent = new StringBuilder("[");
userAgent.append(request.getHeader("User-Agent"));
userAgent.append("]");
int indexOfMac = userAgent.indexOf("Mac OS X");
int indexOfWindows = userAgent.indexOf("Windows NT");
int indexOfIE = userAgent.indexOf("MSIE");
int indexOfIE11 = userAgent.indexOf("rv:");
int indexOfFF = userAgent.indexOf("Firefox");
int indexOfSogou = userAgent.indexOf("MetaSr");
int indexOfChrome = userAgent.indexOf("Chrome");
int indexOfSafari = userAgent.indexOf("Safari");
boolean isMac = indexOfMac > 0;
boolean isWindows = indexOfWindows > 0;
boolean isLinux = userAgent.indexOf("Linux") > 0;
boolean containIE = indexOfIE > 0 || (isWindows && (indexOfIE11 > 0));
boolean containFF = indexOfFF > 0;
boolean containSogou = indexOfSogou > 0;
boolean containChrome = indexOfChrome > 0;
boolean containSafari = indexOfSafari > 0;
String browser = "";
if (containSogou) {
if (containIE) {
browser = "搜狗" + userAgent.substring(indexOfIE, indexOfIE + "MSIE x.x".length());
} else if (containChrome) {
browser = "搜狗" + userAgent.substring(indexOfChrome, indexOfChrome + "Chrome/xx".length());
}
} else if (containChrome) {
browser = userAgent.substring(indexOfChrome, indexOfChrome + "Chrome/xx".length());
} else if (containSafari) {
int indexOfSafariVersion = userAgent.indexOf("Version");
browser = "Safari "
+ userAgent.substring(indexOfSafariVersion, indexOfSafariVersion + "Version/x.x.x".length());
} else if (containFF) {
browser = userAgent.substring(indexOfFF, indexOfFF + "Firefox/xx".length());
} else if (containIE) {
if (indexOfIE11 > 0) {
browser = "MSIE 11";
} else {
browser = userAgent.substring(indexOfIE, indexOfIE + "MSIE x.x".length());
}
}
String os = "";
if (isMac) {
os = userAgent.substring(indexOfMac, indexOfMac + "MacOS X xxxx".length());
} else if (isLinux) {
os = "Linux";
} else if (isWindows) {
os = "Windows ";
String version = userAgent.substring(indexOfWindows + "Windows NT".length(), indexOfWindows
+ "Windows NTx.x".length());
if ("5.0".equals(version.trim())) {
os += "2000";
} else if ("5.1".equals(version.trim())) {
os += "XP";
} else if ("5.2".equals(version.trim())) {
os += "2003";
} else if ("6.0".equals(version.trim())) {
os += "Vista";
} else if ("6.1".equals(version.trim())) {
os += "7";
} else if ("6.2".equals(version.trim())) {
os += "8";
} else if ("6.3".equals(version.trim())) {
os += "8.1";
}
}
System.out.println("系统:" + os + ",浏览器:" + browser);
0 0
- java 通过userAgent获取访问者的操作系统与浏览器
- UserAgent:通过浏览器获取用户浏览器和电脑信息
- UserAgent:通过浏览器获取用户浏览器和电脑信息
- 各种浏览器的userAgent(VS获取)
- 模拟浏览器的UserAgent获取信息
- 通过request对象获取访问网站用户的 IP 访问者的浏览器名 操作系统名 从哪里转过来 以及 Url 上的所有参数
- userAgent获取浏览器信息
- 获取当前使用的浏览器与操作系统
- JS通过navigator.userAgent的返回值认识众浏览器
- 各种浏览器的userAgent
- 各种浏览器的userAgent
- 各种浏览器的userAgent
- 各种浏览器的userAgent
- 设置浏览器的UserAgent
- 浏览器的UserAgent
- 浏览器的userAgent识别
- 浏览器的UserAgent大全
- java获取访问者的IP
- Android(6)RadioButton
- 并不记得今天是第几天了
- 一道题(1)
- URL传递中文参数乱码问题
- final类的作用
- java 通过userAgent获取访问者的操作系统与浏览器
- Java中增强型for循环的样例和解释
- List集合拆分
- ExtJs关于Ext.extend()的说明
- ctive-c中 isEqual ,isEqualToString , == 三者的区别
- 数据结构练习2——括号匹配
- Segmentation fault到底是何方妖孽
- LightOJ - 1051 Good or Bad(扫描)
- Android NDK中C++运行时库介绍