用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、ip地址等信息
maven 引入包
<!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.21</version>
</dependency>
在 zuul 进行拦截,并保存到数据库
@Override
public Object run() {
RequestContext context = RequestContext.getCurrentContext();
HttpServletRequest request = context.getRequest();
// 获取cardNumber参数
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
// 请求链接
System.out.println("URI===>" + request.getRequestURI());
// 请求参数
System.out.println("parameterMap" + request.getParameterMap());
// 浏览器名称
System.out.println("browser===>" + userAgent.getBrowser().getName());
// 浏览器类别
System.out.println("browserType===>" + userAgent.getBrowser().getBrowserType().getName());
// 操作系统
System.out.println("operatingSystem===>" + userAgent.getOperatingSystem().getName());
// 设备类型
System.out.println("deviceType===>" + userAgent.getOperatingSystem().getDeviceType().getName());
// 绘制引擎
System.out.println("vRenderingEngine===>" + userAgent.getBrowser().getRenderingEngine().name());
if (context.containsKey("startTime")) {
long statrtTime = (long) context.get("startTime");// 请求的开始时间
int time = (int) (System.currentTimeMillis() - statrtTime);
System.out.println("time===>" + time);
}
System.out.println("Method===>" + request.getMethod());// 请求方式
return null;
}