【最全总结】java(user-agent)获取浏览器信息及操作系统
2024-04-26 14:44:34
本文章使用java(user-agent),需要前端请求request
为了测试几乎下载完了windows常用浏览器
Android也几乎下载了全部常用浏览器作为测试,
苹果系统,ipone有朋帮测试过,没得问题,
最后总结出代码:
——————————————这是分割线——————————————
获取浏览器版本:
/*** 获取浏览器版本* * @param request* @return*/
public static String getBrower(HttpServletRequest request)
{String browserVersion = null;String header = request.getHeader("user-agent");System.out.println(header);if (header.equals("") || header == null)// 为空就默认为谷歌{browserVersion = "谷歌浏览器";return browserVersion;}if (header.indexOf("Chrome") > 0)// 谷歌{browserVersion = "谷歌浏览器";}else if (header.indexOf("Safari") > 0)// safari{browserVersion = "safari浏览器";}if (header.indexOf("MSIE") > 0)// ie浏览器{browserVersion = "ie浏览器";}if (header.indexOf("Firefox") > 0)// 火狐浏览器{browserVersion = "火狐浏览器";}if (header.indexOf("Camino") > 0)//{browserVersion = "camino浏览器";}if (header.indexOf("Konqueror") > 0)//{browserVersion = "konqueror浏览器";}if (header.indexOf("Quark") > 0)// 夸克浏览器{browserVersion = "quark浏览器";}if (header.indexOf("baidu") > 0)// 百度浏览器{browserVersion = "百度浏览器";}if (header.indexOf("Edge") > 0)// edge浏览器{browserVersion = "edge";}if (header.indexOf("TheWorld") > 0)// theworld浏览器{browserVersion = "theworld浏览器";}if (header.indexOf("QQBrowser") > 0 || header.indexOf("TencentTraveler") > 0 || header.indexOf("QQTheme") > 0)// qq浏览器{browserVersion = "qq浏览器";}if (header.indexOf("Avast") > 0)// Avast Secure Browser浏览器{browserVersion = "avast浏览器";}if (header.indexOf("OPR") > 0)// opera浏览器{browserVersion = "opera浏览器";}if (header.indexOf("360") > 0)// 360浏览器{browserVersion = "360浏览器";}if (header.indexOf("LBBROWSER") > 0)// 猎豹浏览器{browserVersion = "猎豹浏览器";}if (header.indexOf("Maxthon") > 0)// 遨游浏览器{browserVersion = "遨游浏览器";}if (header.indexOf("MetaSr") > 0 || header.indexOf("Sogou") > 0)// 搜狗浏览器{browserVersion = "搜狗浏览器";}if (header.indexOf("UCWEB") > 0 || header.indexOf("UCBrowser") > 0)// uc浏览器{browserVersion = "uc浏览器";}if (browserVersion == null)// 没找到的都默认谷歌浏览器{browserVersion = "谷歌浏览器";}System.out.println(browserVersion);return browserVersion;}
—————————————这是分割线——————————————
获取操作系统:
/*** * 获取系统版本信息*/
public static String getSystem(HttpServletRequest request)
{String systenInfo = null;String header = request.getHeader("user-agent");if (header == null || header.equals(""))// 为空都默认win10{systenInfo = "windows10";return systenInfo;}// 得到用户的操作系统if (header.indexOf("NT 6.1") > 0 || header.indexOf("NT 5") > 0 || header.indexOf("NT 6.3") > 0 || header.indexOf("NT 6.2") > 0 || header.indexOf("NT 6.0") > 0 || header.indexOf("NT 5.1") > 0|| header.indexOf("NT 5.2") > 0 || header.indexOf("NT 6.0") > 0)// win10一下的都取win7{systenInfo = "windows7";}if (header.indexOf("Mac") > 0)// mac系统{systenInfo = "mac系统";}if (header.indexOf("Unix") > 0)// unix系统{systenInfo = "unix系统";}if (header.indexOf("SunOS") > 0)// solaris系统{systenInfo = "solaris系统";}if (header.indexOf("Linux") > 0)// Linux系统{systenInfo = "linux系统";}if (header.indexOf("Ubuntu") > 0)// ubuntu系统{systenInfo = "ubuntu系统";}if (header.indexOf("iPhone") > 0)// 苹果手机{systenInfo = "苹果手机";}if (header.indexOf("Android") > 0)// 安卓系统{systenInfo = "安卓手机";}if (header.indexOf("NT 10") > 0)// win10{systenInfo = "windows10";}if (header == null || header.equals("") || systenInfo.equals("") || systenInfo == null)// 没找到默认为windows10{systenInfo = "windows10";}return systenInfo;}
————————————这是分割线——————————————
使用的时候,尽量不要改动上面代码的顺序,因为大多数浏览器信息里面都包含了谷歌关键字