我正在使用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
。
我需要确切的数字和版本。有没有工具可以做到这一点?
答案 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