2009-09-29 12 views
37

ユーザエージェント文字列を解析するためのJavaの素晴らしいライブラリを知っている人はいますか?私たちはカスタムを書いていますが、これは多くの人にとって共通の問題のようです。どこかで利用できる良いライブラリがあると思います。Javaユーザエージェントの文字列解析ツールを探す

たとえば、ユーザーエージェント文字列...

の「Mozilla/5.0(Windowsの; U; Windows NTの6.0; EN-US)のAppleWebKit/532.0(ヤモリのようにKHTML、)クローム/ 3.0.195.21 Safariの/532.0 "

...私たちのサイトでChromeを使用しているWindows Vista PCの到着を暗示します。

私はPythonとRubyでライブラリを見てきました。そこにJavaの何か?私の知る限りでは

答えて

4

自身で実際に良いビジネスで適切に行わとき、ユーザーエージェントを検出し、(と理由がIいけない、それは私がその製品で提供で動作するように使用されるサービス会社の一つです)。

ユーザーエージェントのためのいくつかの基本的な識別パターンを含むWURFLなどのいくつかのフリーデータベースがありますが、主に携帯電話などに焦点を当てていますので、最後にあなたが作ったものを使い続け、ユーザエージェント識別メタデータの現在の状態に関連する様々な関連フォーマットからインポート/エクスポートする。

あなたがデスクトップ/ PCの世界から遠ざかるようにならないのであれば、そこには主に4つの主要なレイアウトエンジンがあるので、気にする必要はありません。 4つの大きなものはTrident in IE,Mozilla's Gecko,KDE's WebKit(少なくともSafariとChromeの場合)とOpera's Prestoです。それは、user-agent-string.infoのための別のラッパーですが、はるかにしっかりと他のものに比べて、実装をテストしてhttp://uadetector.sourceforge.net/

15

しかし、中央リポジトリに毎月、利用可能な更新された新しいライブラリを試してみてください。

私は今年末にリリースしたい安定版API 1.0を開発中です。 API 1.0のリリース後、何も再コンパイルする必要はありません。アプリケーションlibディレクトリ内のuadetector-resources.jarのみを切り替えます。 「毎月更新される」という機能は、統合されたテスト済みの「UASデータ」ファイルを必要とする場合、定義されたコアで実行されるという保証があります。しかし、JAR(私がテストしたもの)を更新することに興味がない場合は、OnlineUserAgentStringParserを使用して、実装が自動的にダウンロードされたXMLで実行できないというリスクを回避できます。私は必要に応じて、特にバージョン1.0のAPIがリリースされたときに、より多くの 'uadetector-core'バンドルをリリースすることに興味はありません。

クライアントのもう1つの解決策は、OnlineUserAgentStringParserを使用して、独自のUASデータを保持し、プロパティファイルをカスタマイズして正しいURLを設定することです。

+0

これは、[user-agent-string.info](http://user-agent-string.info)データのラッパーです。それは[自分のライブラリ](http://user-agent-string.info/download/UASparser-for-JAVA)とどのように比較されますか?あなたのグラバターから、私はあなた自身のプロジェクトだと思いますか?私は、毎月更新されたものが機能であるかどうかはわかりません。あなたのクライアントが毎月アプリケーションを再コンパイルして再リリースすることを期待していますか? – Rup

+0

@Rupフィードバックをいただきありがとうございます。私の説明がより多くの洞察を与えることを願っています。 – before