如何在Spring MVC中获取确切的客户端浏览器名称和版本?

ham*_*med 12 java browser spring spring-mvc

我正在开发一个Spring MVC应用程序,我需要访问客户端浏览器名称和版本.

HttpServletRequest在我的操作中有一个实例作为参数和使用request.getHeader("User-Agent")方法,但这Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko在Internet Explorer 9中返回.

我需要确切的数字和版本.这样做有什么工具吗?

Mas*_*ave 19

确认用户代理不安全.尽管如此,在缺乏其他方法的情况下,您应该解析用户代理标头,这实际上并不容易,因为组合的数量是压倒性的.除非你想自己动手,否则我会建议

http://www.bitwalker.eu/software/user-agent-utils

来源可在

https://github.com/HaraldWalker/user-agent-utils/tree/master

用法非常简单

UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
System.out.println(userAgent.getBrowser().getName() + " " + userAgent.getBrowserVersion());
Run Code Online (Sandbox Code Playgroud)

  • 您还可以查看另一个库[Browscap](https://github.com/browscap/browscap/wiki/Using-Browscap)。 (2认同)