プロフィール

ドミノ

Author:ドミノ
FC2ブログへようこそ!

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

くーすーって美味しいよね
雑感をつらつらと書いています。 主にはIT技術のことをメインに書いていけたらとおもっとります。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Rubyで「はてブAPI」を叩いてみよう
naoyaのはてなダイアリー - ブックマーク件数取得APIをリリースしました。
ということなので早速いじってみた。
サンプルとしてPerlコードが載っていたのでそれを真似てRubyで実装しなおしてみた。
XML-RPCを用いているということなんでコードはweblogUpdates.pingを送る場合と大差ないんでこんな感じになると思う。

require "xmlrpc/client"
require "uri"

end_point = "http://b.hatena.ne.jp/xmlrpc"
uri = URI.parse(end_point)

urls = [
"http://d.hatena.ne.jp/"
]
srv = XMLRPC::Client.new(uri.host, uri.path, uri.port)
result = srv.call("bookmark.getCount", urls)

puts result


ところがどっこい、エラーが返ってきてしまうのだ。
エラー情報:C:/ruby/lib/ruby/1.8/xmlrpc/client.rb:556:in `do_rpc': Wrong size. Was 138, should be (RuntimeError)
どうやら原因はレスポンスのヘッダ情報content-lengthに値が返ってこないことによるものだ。

RubyのXML-RPCモジュールが厳密でお堅いのか・・・んー、やっぱりcontent-lengthには値が入っているべきだよね。
だれか、ヘールプ


05/12/16追記
通りすがりさんありがとうございます。
ちょっと勘違いしてました、
urls = [
"http://d.hatena.ne.jp/"
]
としていたけど、rubyのXML-RPCモジュールは配列には対応してない様で・・・
urls = "http://d.hatena.ne.jp/"
とすればOKでした。おはずかしい。
複数のサイトに対して送る方法は調査しておきます。
スポンサーサイト

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。