如何在 Spring MVC 中获取确切的客户端浏览器名称和版本?
How to get the exact client browser name and version in Spring MVC?
我正在开发 Spring MVC 应用程序,我需要访问客户端浏览器名称和版本。
我在我的操作中有一个 HttpServletRequest
的实例作为参数并使用 request.getHeader("User-Agent")
方法,但这在 Internet Explorer 9 中返回了 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
。
我需要确切的数字和版本。有什么工具可以做到这一点吗?
确认用户代理不安全。尽管如此,在没有其他方法的情况下,你应该解析一个 user-agent 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());
解析 User-Agent
Http Header 结果的有用库:browscap-java
我正在开发 Spring MVC 应用程序,我需要访问客户端浏览器名称和版本。
我在我的操作中有一个 HttpServletRequest
的实例作为参数并使用 request.getHeader("User-Agent")
方法,但这在 Internet Explorer 9 中返回了 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
。
我需要确切的数字和版本。有什么工具可以做到这一点吗?
确认用户代理不安全。尽管如此,在没有其他方法的情况下,你应该解析一个 user-agent 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());
解析 User-Agent
Http Header 结果的有用库:browscap-java