Ruby で POPFile を XML-RPC 接続で操作するサンプル
久々に POPFile をいじってみました。
POPFile のエンジンをスパムをよりわけるだけじゃなくて、たとえば Yahoo の評判検索 みたいなものを作るのに使えるんじゃないかと画策中。
そこで、Ruby on Rails から使えるかどうかということで、Ruby で POPFile を操作する実験をしてみました。
» XML-RPC [POPFile Documentation Project]
にあるように、POPFile は XML-RPC のインターフェースを持っています。
Perl や Python の例にならって、Ruby のサンプルを作ってみました。
require 'xmlrpc/client'
popfile = XMLRPC::Client.new2('http://127.0.0.1:8081/RPC2')
session_key = popfile.call('POPFile/API.get_session_key', 'admin', '')
puts popfile.call('POPFile/API.classify', session_key, 'spam.txt')
begin
popfile.call('POPFile/API.release_session_key', session_key)
rescue
end
セッションキーを開放するとき、返り値がないため、エラーが出てしまいます。begin rescue で囲っているのはそのためです。
POPFile のログで確認したところ、ちゃんとセッションを開放しているので動作的にはこれで問題ないはずです。
POPFile ですが、4年前に日本語化したオープンソースのメール振り分けソフトウェアで、おもにスパムフィルターとして使われていますが、今でもその精度の良さに定評があります。
オープンソースはサポートがなくて不安という方には、自分が開発に携わったこちらをおススメします。
» スパムメールにお困りの方に 迷惑メール対策-学習型のメール振り分けソフト「クイックPOPFile」
去年度の「窓の杜」編集部員が選ぶ今年一番のお気に入りソフトとしても紹介されています。
» 窓の杜 - 【編集部員の“今年のお気に入り”】今年1年間で各編集部員がもっとも気に入ったソフトを紹介
2007/04/13 13:20:43