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

2022-09-04 19:18:04

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

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

我需要确切的编号和版本。有什么工具可以做到这一点吗?


答案 1

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

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

答案 2

解析Http Header结果的有用库:browscap-javaUser-Agent


推荐