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);
java获取访问者浏览器_java 通过userAgent获取访问者的操作系统与浏览器
版权声明:本文为weixin_35823403原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。