PHP には CodeIgniter というオープンソースのフレームワークがあります。今回は CodeIgniter の XMLRPC を使ってみます。
class Getbloginfo extends CI_Controller {
public function index()
{
$this->load->library('xmlrpc');
$this->xmlrpc->server('サーバーのアドレス');
$this->xmlrpc->method('blogger.getUsersBlogs');
$data = array(
'',
'ユーザ名',
'パスワード'
);
$this->xmlrpc->request($data);
if ( ! $this->xmlrpc->send_request())
{
echo $this->xmlrpc->display_error();
}
print_r($this->xmlrpc->display_response());
}
}
まず、$this->load->library('xmlrpc'); で XML-RPC クラスを読み込みます。$this->xmlrpc->server でサーバーのアドレスを指定し、$this->xmlrpc->method でメソッドを指定します(今回の例はブログ情報の取得です。blogger.getUsersBlogsを設定しています)。送るデータは、$this->xmlrpc->request($data); で指定します($data 部分は、blogger.getUsersBlogs で処理されます)。
送信は、$this->xmlrpc->send_request() で実行します。返ってきたデータは $this->xmlrpc->display_response() で出力します。
CodeIgniter は、ブラウザからアクセスする他、コマンドラインから実行可能です。ブラウザからは index.php/getbloginfo とアクセスするところを、php index.php getbloginfo と実行することができます。