WWW::Mechanizeを使ってdel.icio.usにPostするスクリプト
とりあえずテスト的な。これを使ってPRaggerのpublish::deliciousプラグインにでもまとめるかな。ポイントはBASIC認証を使っているところ。といっても調べたらあっさり分かりましたです。proxyとか書いているけど実際にプロクシ使っての動作確認はまだしていません。
require 'rubygems' require 'mechanize' require 'kconv' class Delicious def initialize username, password, proxy=nil @username = username @password = password @agent = WWW::Mechanize.new @agent.basic_auth(@username, @password) if proxy && proxy.is_a?(Hash) && proxy['proxy_addr'] && proxy['proxy_port'] @agent.set_proxy(proxy['proxy_addr'], proxy['proxy_port'], proxy['proxy_user'], proxy['proxy_pass']) end end def post url, desc, option=nil params = {} post_url = 'https://api.del.icio.us/v1/posts/add?' params[:url] = url params[:description] = desc req_url = [] params.each do |k,v| req_url << k.to_s.toutf8 + '=' + v.toutf8 end puts req_url.join('&') result = @agent.get(post_url + req_url.join('&')) end end agent = Delicious.new('username','password') agent.post 'http://www.google.co.jp/', 'google'
usernameとpasswordだけ自分のと書き換えてくださいね。
TODO
- コメントとかタグとかも入れられるように(テスト中にdel.icio.us落ちたorz)