2015-02-04 3 views
6

나는 스프링 MVC 애플리케이션을 개발 중이며 클라이언트 브라우저 이름과 버전에 액세스해야한다.Spring MVC에서 정확한 클라이언트 브라우저 이름과 버전을 얻는 방법은 무엇입니까?

나는 매개 변수로 내 행동에 HttpServletRequest의 인스턴스를 가지고 request.getHeader("User-Agent") 방법을 사용하지만, 이것은 인터넷 익스플로러 내가 번호와 버전을 정확한 필요 9.

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko를 반환했습니다. 그 일을하기위한 도구가 있습니까?

+0

더 안전한 방법으로이 없다 해. 브라우저 이름과 버전은 브라우저 (_client_)에서 가져옵니다. 쉽게 스푸핑 될 수 있으므로 브라우저의 정확한 이름과 버전을 100 % 확신 할 수 없습니다. – BackSlash

답변

10

사용자 에이전트가 안전하지 못하다는 것을인지. 그럼에도 불구하고 다른 방법이 없기 때문에 사용자 에이전트 헤더를 구문 분석해야합니다. 실제로 조합의 수가 압도적으로 많지는 않습니다. 당신이 당신의 자신의 롤 싶어하지 않는 한, 나는

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

사용에

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

소스를 사용할 수있는 제안은 아주 간단합니다

UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent")); 
System.out.println(userAgent.getBrowser().getName() + " " + userAgent.getBrowserVersion()); 
+0

'user-agent-utils'에는 어떤 라이센스가 있습니까? 엔터프라이즈 응용 프로그램에서 사용할 수 있습니까? – RanPaul

+0

라이센스는 https://github.com/HaraldWalker/user-agent-utils/blob/master/LICENSE.txt에서 볼 수 있습니다. –

관련 문제