我正在开发一个 Spring MVC 应用程序,我需要访问客户端浏览器名称和版本。
我的操作中有一个 HttpServletRequest
实例作为参数并使用 request.getHeader("User-Agent")
方法,但这返回了 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) 类似于 Internet Explorer 9 中的 Gecko
。
我需要准确的编号和版本。有什么工具可以做到这一点吗?
最佳答案
确认用户代理不安全。尽管如此,在缺乏其他方法的情况下,您应该解析一个用户代理 header ,这实际上并不容易,因为组合的数量是压倒性的。除非你想自己动手,否则我建议
http://www.bitwalker.eu/software/user-agent-utils
来源可在
https://github.com/HaraldWalker/user-agent-utils
用法很简单
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
System.out.println(userAgent.getBrowser().getName() + " " + userAgent.getBrowserVersion());
关于java - 如何在 Spring MVC 中获取确切的客户端浏览器名称和版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28323058/