mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-02 20:02:49 +08:00
fix code
This commit is contained in:
parent
29c2db6246
commit
31398c727f
@ -1,17 +1,19 @@
|
||||
package cn.hutool.http.useragent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* 引擎对象
|
||||
*
|
||||
*
|
||||
* @author looly
|
||||
* @since 4.2.1
|
||||
*/
|
||||
public class Engine extends UserAgentInfo {
|
||||
|
||||
|
||||
/** 未知 */
|
||||
public static final Engine Unknown = new Engine(NameUnknown, null);
|
||||
|
||||
@ -32,7 +34,7 @@ public class Engine extends UserAgentInfo {
|
||||
|
||||
/**
|
||||
* 构造
|
||||
*
|
||||
*
|
||||
* @param name 引擎名称
|
||||
* @param regex 关键字或表达式
|
||||
*/
|
||||
@ -40,4 +42,16 @@ public class Engine extends UserAgentInfo {
|
||||
super(name, regex);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取引擎版本
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return 版本
|
||||
* @since 5.7.4
|
||||
*/
|
||||
public String getVersion(String userAgentString) {
|
||||
final String regexp = getName() + "[/\\- ]([\\d\\w.\\-]+)";
|
||||
final Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
|
||||
return ReUtil.getGroup1(pattern, userAgentString);
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,10 @@
|
||||
package cn.hutool.http.useragent;
|
||||
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* User-Agent解析器
|
||||
*
|
||||
*
|
||||
* @author looly
|
||||
* @since 4.2.1
|
||||
*/
|
||||
@ -15,7 +12,7 @@ public class UserAgentParser {
|
||||
|
||||
/**
|
||||
* 解析User-Agent
|
||||
*
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return {@link UserAgent}
|
||||
*/
|
||||
@ -24,28 +21,34 @@ public class UserAgentParser {
|
||||
return null;
|
||||
}
|
||||
final UserAgent userAgent = new UserAgent();
|
||||
|
||||
|
||||
// 浏览器
|
||||
final Browser browser = parseBrowser(userAgentString);
|
||||
userAgent.setBrowser(parseBrowser(userAgentString));
|
||||
userAgent.setVersion(browser.getVersion(userAgentString));
|
||||
|
||||
|
||||
// 浏览器引擎
|
||||
final Engine engine = parseEngine(userAgentString);
|
||||
userAgent.setEngine(engine);
|
||||
if (false == engine.isUnknown()) {
|
||||
userAgent.setEngineVersion(parseEngineVersion(engine, userAgentString));
|
||||
userAgent.setEngineVersion(engine.getVersion(userAgentString));
|
||||
}
|
||||
|
||||
// 操作系统
|
||||
userAgent.setOs(parseOS(userAgentString));
|
||||
|
||||
// 平台
|
||||
final Platform platform = parsePlatform(userAgentString);
|
||||
userAgent.setPlatform(platform);
|
||||
userAgent.setMobile(platform.isMobile() || browser.isMobile());
|
||||
|
||||
|
||||
|
||||
return userAgent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析浏览器类型
|
||||
*
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return 浏览器类型
|
||||
*/
|
||||
@ -57,10 +60,10 @@ public class UserAgentParser {
|
||||
}
|
||||
return Browser.Unknown;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 解析引擎类型
|
||||
*
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return 引擎类型
|
||||
*/
|
||||
@ -73,22 +76,9 @@ public class UserAgentParser {
|
||||
return Engine.Unknown;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析引擎版本
|
||||
*
|
||||
* @param engine 引擎
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return 引擎版本
|
||||
*/
|
||||
private static String parseEngineVersion(Engine engine, String userAgentString) {
|
||||
final String regexp = engine.getName() + "[/\\- ]([\\d\\w.\\-]+)";
|
||||
final Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
|
||||
return ReUtil.getGroup1(pattern, userAgentString);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析系统类型
|
||||
*
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return 系统类型
|
||||
*/
|
||||
@ -103,7 +93,7 @@ public class UserAgentParser {
|
||||
|
||||
/**
|
||||
* 解析平台类型
|
||||
*
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return 平台类型
|
||||
*/
|
||||
|
@ -2,7 +2,7 @@ package cn.hutool.http.useragent;
|
||||
|
||||
/**
|
||||
* User-Agent工具类
|
||||
*
|
||||
*
|
||||
* @author looly
|
||||
*
|
||||
*/
|
||||
@ -10,7 +10,7 @@ public class UserAgentUtil {
|
||||
|
||||
/**
|
||||
* 解析User-Agent
|
||||
*
|
||||
*
|
||||
* @param userAgentString User-Agent字符串
|
||||
* @return {@link UserAgent}
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user