読者です 読者をやめる 読者になる 読者になる

XML-RPC(Ruby, PHP, Python)

はてブのgetTotalCountメソッドを使って比較

Ruby

#!/usr/local/bin/ruby
require "xmlrpc/client"
url = ARGV[0]
server = XMLRPC::Client.new("b.hatena.ne.jp","/xmlrpc")
count = server.call('bookmark.getTotalCount',url)
puts count

PHP

#!/usr/local/bin/php
<?php
require "XML/RPC.php";
$url = $argv[1];
$params = array(new XML_RPC_Value($url,'string'));
$msg = new XML_RPC_Message('bookmark.getTotalCount', $params);
$cli = new XML_RPC_Client('/xmlrpc', 'b.hatena.ne.jp');
$resp = $cli->send($msg);
$val = $resp->value();
$data = XML_RPC_decode($val);
echo $data;
?>

Python

#!/usr/local/bin/python
# -*- encoding: utf-8 -*-
import xmlrpclib
import sys
try:
    url = sys.argv[1]
    end_point = "http://b.hatena.ne.jp/xmlrpc"
    server = xmlrpclib.ServerProxy(end_point)
    count = server.bookmark.getTotalCount(url)
    print count
except IndexError:
    pass #set url

RubyPHPがメソッド(bookmark.getTotalCount)を文字列で渡して呼び出しているのに対して
Pythonではそのままオブジェクトっぽく扱える。