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

时间:2015-02-04 13:49:43

标签: java spring spring-mvc browser

我正在使用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

我需要确切的数字和版本。有没有工具可以做到这一点?

2 个答案:

答案 0 :(得分:17)

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

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());

答案 1 :(得分:0)

Usefull库用于解析“ User-Agent” http标头的结果:browscap-java