web-dev-qa-db-ja.com

Javaユーザーエージェント文字列パーサーを探しています

Javaでユーザーエージェント文字列を解析するための優れたライブラリを知っている人はいますか?私たちはカスタムライブラリを作成しましたが、これは多くの人にとって一般的な問題のようです。良いライブラリがあると思いますどこかで利用できます。

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

"Mozilla/5.0(Windows; U; Windows NT 6.0; en-US)AppleWebKit/532.0(KHTML、Geckoなど)Chrome/3.0.195.21 Safari/532.0"

...私たちのサイトでChromeを使用してWindows Vista PCの登場を暗号で発表します。

pythonとRubyでライブラリを見たことがあります。Javaで何かありますか?

37
Bill

それでも、毎月更新され、中央リポジトリで利用できる新しいライブラリを試してください: http://uadetector.sourceforge.net/

これは ser-agent-string.info の別のラッパーですが、他のラッパーと比較して、はるかに堅実でテスト済みの実装を備えています。

今年の終わりにリリースしたい安定したAPI1.0に取り組んでいます。 API 1.0のリリース後は、何も再コンパイルする必要はありません。アプリケーションのlib dirでuadetector-resources.jarを切り替えるだけです。 「毎月更新」の機能は、統合テスト済みの「UASデータ」ファイルが必要な場合に、定義されたコアで実行することが保証されている場合、このファイルがニーズに適合することを意味します。ただし、JAR(私がテストしたもの)の更新に興味がない場合は、OnlineUserAgentStringParserを使用できますが、実装が自動的にダウンロードされたXMLで実行するのに適していないというリスクがあります。特にバージョン1.0のAPIがリリースされたときは、必要に応じて「uadetector-core」バンドルをさらにリリースすることに興味はありません。

クライアントのもう1つの解決策は、OnlineUserAgentStringParserを操作してプロパティファイルをカスタマイズし、適切なURLを設定するときに、独自の「UASデータ」を維持することです。

15
before

私が知る限り(そしてなぜ私がそうするべきではないか、それは私が働いていたサービス会社の1つであり、その製品を提供しています)、ユーザーを検出します適切に行われた場合のエージェントは、実際にはそれ自体が良いビジネスです。

[〜#〜] wurfl [〜#〜] のようないくつかの無料のデータベースがあり、ユーザーエージェントの基本的な識別パターンが含まれていますが、それらは主に携帯電話などに焦点を当てているため、結局のところ、作成したものを引き続き使用し、ユーザーエージェント識別メタデータの現在の状態に関連するさまざまな関連フォーマットからインポート/エクスポートする機能を追加するだけです。

デスクトップ/ PCの世界から離れるつもりがない場合は、心配する必要はありませんが、主要なレイアウトエンジンは4つしかないため、当然ながらさまざまな機能を持つ一連のバージョンがあります。 4つの大きなものは IEのTridentMozillaのGeckoKDEのWebKit (少なくともSafariとChrome)、そして オペラのプレスト

4
Esko