web-dev-qa-db-ja.com

Spring MVCで正確なクライアントブラウザ名とバージョンを取得するにはどうすればよいですか?

私は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を返しました。

正確な数とバージョンを入力する必要があります。それを行うためのツールはありますか?

13
hamed

ユーザーエージェントが安全でないことを認めます。それでも、他の方法がないため、ユーザーエージェントヘッダーを解析する必要があります。組み合わせの数が膨大であるため、実際にはそれほど簡単ではありません。自分でロールしたくない限り、私はお勧めします

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());
19
Master Slave

User-Agent Httpヘッダーの結果を解析するための便利なライブラリ: browscap-Java

1
A. Masson