資源簡介
改資源的注釋已經(jīng)很詳細(xì)了,但是還是建議配合我的博客一起學(xué)習(xí):博客地址:https://blog.csdn.net/qq_23832313/article/details/82775316
代碼片段和文件信息
package?com.ninesword.nsclick.utils;
import?javax.servlet.http.HttpServletRequest;
import?org.apache.commons.lang3.StringUtils;
import?org.slf4j.Logger;
import?org.slf4j.LoggerFactory;
import?eu.bitwalker.useragentutils.Browser;
import?eu.bitwalker.useragentutils.OperatingSystem;
import?eu.bitwalker.useragentutils.UserAgent;
/**?
??*?@author??作者?:?
??*?@date?創(chuàng)建時間:2018年9月19日?下午2:45:10?
??*?@version?1.0?
??*?@parameter??
??*?@since??
??*?@return??
*/
public?class?UserAgentUtils?{
private?static?Logger?logger?=?LoggerFactory.getLogger(UserAgentUtils.class);
/**
?*?根據(jù)http獲取userAgent信息
?*?@param?request
?*?@return
?*/
public?static?String?getUserAgent(HttpServletRequest?request)?{
String?userAgent=request.getHeader(“User-Agent“);
return?userAgent;
}
/**
?*?根據(jù)request獲取userAgent,然后解析出osVersion
?*?@param?request
?*?@return
?*/
public?static?String?getOsVersion(HttpServletRequest?request)?{
String?userAgent?=?getUserAgent(request);
return?getOsVersion(userAgent);
}
/**
?*?根據(jù)userAgent解析出osVersion
?*?@param?userAgent
?*?@return
?*/
public?static?String?getOsVersion(String?userAgent)?{
String?osVersion?=?““;
if(StringUtils.isBlank(userAgent))?
return?osVersion;
String[]?strArr?=?userAgent.substring(userAgent.indexOf(“(“)+1
userAgent.indexOf(“)“)).split(“;“);
if(null?==?strArr?||?strArr.length?==?0)?
return?osVersion;
osVersion?=?strArr[1];
logger.info(“osVersion?is:{}“?osVersion);
return?osVersion;
}
/**
?*?獲取操作系統(tǒng)對象
?*?@param?request
?*?@return
?*/
private?static?OperatingSystem?getOperatingSystem(String?userAgent)?{
UserAgent?agent?=?UserAgent.parseUserAgentString(userAgent);
OperatingSystem?operatingSystem?=?agent.getOperatingSystem();
return?operatingSystem;
}
/**
?*?獲取os:Windows/ios/Android
?*?@param?request
?*?@return
?*/
public?static?String?getOs(HttpServletRequest?request)?{
String?userAgent?=?getUserAgent(request);
return?getOs(userAgent);
}
/**
?*?獲取os:Windows/ios/Android
?*?@param?request
?*?@return
?*/
public?static?String?getOs(String?userAgent)?{
OperatingSystem?operatingSystem?=??getOperatingSystem(userAgent);
String?os?=?operatingSystem.getGroup().getName();
logger.info(“os?is:{}“?os);
return?os;
}
/**
?*?獲取deviceType
?*?@param?request
?*?@return
?*/
public?static?String?getDevicetype(HttpServletRequest?request)?{
String?userAgent?=?getUserAgent(request);
return?getDevicetype(userAgent);
}
/**
?*?獲取deviceType
?*?@param?request
?*?@return
?*/
public?static?String?getDevicetype(String?userAgent)?{
OperatingSystem?operatingSystem?=??getOperatingSystem(userAgent);
String?deviceType?=?operatingSystem.getDeviceType().toString();
logger.info(“deviceType?is:{}“?deviceType);
return?deviceType;
}
/**
?*?獲取操作系統(tǒng)的名字
?*?@param?request
?*?@return
?*/
public?static?String?getOs
評論
共有 條評論