参考: UserAgent判定器 Project Woothee v0.2.0: RubyおよびPython実装を追加 - tagomorisのメモ置き場
(参考2: 最近の多言語対応User-Agentパーサライブラリ woothee について - tagomorisのメモ置き場)
汎用のUser Agent判定器として細々とメンテしている woothee について、当初からやろうやろうとは思っていたJavascript実装を追加して v.0.3.0 とした。これで以下の実装で*1完全に同じ判定を行う実装が揃ったことになる。
- Java (+Hive UDF)
- Perl
- Ruby
- Python
- Javascript (browser/Node.js)
あとついでに Wii U のUserAgent文字列に対応。これは各言語の実装で v0.3.0 をリリースするための言い訳的な感じ。
Perl, Ruby および Node.js については cpan.org / rubygems.org / npmjs.org にそれぞれ上げてあるので、コマンド一発でインストールできるはず。
$ cpanm Woothee $ gem install woothee $ npm install woothee
Javascript実装についてはNode.jsおよびブラウザサイドの両方で使えるようにしてある。はず。*2
<!-- for user side --> <script src="./your/own/path/woothee.js"></script> <script> woothee.parse('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)') // => {name: 'Internet Explorer', category: 'pc', os: 'Windows 7', version: '8.0', vendor: 'Microsoft'} </script>
/* in Node.js code */ var woothee = require('woothee'); woothee.parse('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)') // => {name: 'Internet Explorer', category: 'pc', os: 'Windows 7', version: '8.0', vendor: 'Microsoft'}
これで考えてた実装はひと揃いできたので、あとはブラウザ他が出てきたら対応していくだけかな。欲しい言語の実装が無い! というかた、いましたらpullreqをお待ちしています。