MyMiniCity踏んでください!!

ただいま絶賛MyMiniCity参加中です.是非リンクを踏んでください!!(笑
October 6th, 2006

XML_RPC2ではてブにアクセスしてみる

(Read: 480145)
Add to Hatena Bookmark

参照: 機能変更、お知らせなど - はてなブックマーク日記 - (開発者さま向け) 特定サイトの被はてなブックマーク数を取得する XML-RPC API の公開について
何でもいいので今までやってなかったようなプログラムを書いていこうってことでPEAR::XML_RPC2を使ってみました.
XML_RPCは以前使っていたのですが超使いづらいですよねあれ.
XML_RPC2がPHP5専用であるのは知ってたのでマニュアルを参考に使ってみました.
というかマニュアルのパクリです(痛


require_once 'XML/RPC2/Client.php';
if ( count( $_SERVER[ 'argv']) < 2) {
echo "Usage: {$_SERVER[ 'argv'][ 0]} <URL>\n";
exit;
}

$options = array(
'prefix' => 'bookmark.'
);

$client = XML_RPC2_Client::create('http://b.hatena.ne.jp/xmlrpc', $options);

try {
$result = $client->getTotalCount($_SERVER[ 'argv'][ 1]) . "\n";

// $result is a complex PHP type (no XMLRPC decoding needed, it's already done)
print_r($result);

} catch (XML_RPC2_FaultException $e) {
// The XMLRPC server returns a XMLRPC error
die('Exception #' . $result->getFaultCode() . ' : ' . $e->getFaultString());

} catch (Exception $e) {

// Other errors (HTTP or networking problems...)
die('Exception : ' . $e->getFaultString());

}

?>
これをbcount.phpとして保存し,パーミッションを弄ってあげればはてなに掲載されているサンプルのPHP版のできあがりです.


$ chmod +x ./bcount.php
$ ./bcount.php http://d.hatena.ne.jp/hatenadiary/
5270
$ ./bcount.php http://blog.poyo.jp/
244
自分のところのカウント数少なすぎて痛い!!
はてなのXML-RPCのメソッド一覧どこにあるんだろ.
少しだけ面白くなってきたので今度探してみよう.

処理としては,prefixでメソッドの接頭語を追加.今回は「bookmark.getTotalCount()」を使いたかったので,prefixに「bookmark.」を追加しました.
ちなみにencodingでXMLのエンコーディングを指定できるので,マルチバイトを使用するときはUTF-8とかそれっぽいのを指定するといいでしょう.proxyでいわゆるプロキシの指定もできます.
他にもマニュアルによるといろいろ指定できるみたいです.XML-RPCに詳しくないのでごめんなさい.

PEAR::XML_RPC2はPHP 5専用なのでPEAR::XML_RPCとは全く違うスタイルですっきりとコードを実装できるようです.
サーバーサイドも用意されているし,他のPEARのウェブサービスパッケージ群同様にPEAR::Cache_Liteも併用したキャッシュ機能付きコードも簡単に書けるので,これからのスタンダードになるか? って感じですね.

トピックの参照元

▼最近のトピック

▼ 人気のトピック


< 過去の記事 [ 7月の All Categories リスト ] 新しい記事 >
Powered by gsblog (customize)

[ POST ] [ AddLink ] [ CtlPanel ]

Subscribe blog

Bookmark blog

About me

about me

応援しています

我が息子が産まれたアクア・バースハウス(東京都世田谷区にある助産院)を応援しています.

翻訳のお仕事

腕に自信がある方,修行をしたい方はこちらをどうぞ.

2022 calendar

7月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
| Day | Month | Year |

Powered by RRDTOOL.

Archives

Categories

Links


Mail to admin

人気ブログランキングへ RSS feed meter for http://blog.poyo.jp/ Search Engine Optimization
blogpeople.netに登録!! スカウター : よくきたblog

My Google news

My Google News

Related site

ころんころん♪ べびぽよ フォト蔵Wiki
string(40) "/categ-1/year-2022/month-7/id-1160083290"