【最全总结】java(user-agent)获取浏览器信息及操作系统

本文章使用java(user-agent),需要前端请求request
为了测试几乎下载完了windows常用浏览器
【最全总结】java(user-agent)获取浏览器信息及操作系统_第1张图片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;

}

————————————这是分割线——————————————
使用的时候,尽量不要改动上面代码的顺序,因为大多数浏览器信息里面都包含了谷歌关键字

在我的个人博客中即使用了该代码
详情可以看此链接
移山个人博客
转载请注明原文链接
http://www.myhgh.club

你可能感兴趣的:(java)