2008年11月10日

xml-rpc 簡介

XML-RPC 基本形狀大約是長這樣:




< ?xml version="1.0"?>
< methodCall>
< methodName>這裡填入要呼叫的 procedure name< /methodName>
<params>
<param>參數1</param>
<param>參數2</param>
...
<param>參數n</param>
</params>
< /methodCall >


有的 XML-RPC service 允許你用 GET, REST, 或 POST 的方式來送出 request,不過在使用前還是要注意伺服器上要求你用何種方式來送。


WordPress 提供的 MetaWeblog API 為例,如果你要取得自己 blog 上所有的分類,你就可以透過 XML-RPC 來呼叫 WP 上列出所有分類的功能,並且回傳這些分類給你,用 XML-RPC 時要送出這樣的資料:(假設 blog 是 http://foo.wordpress.com)




POST /xmlrpc.php HTTP/1.1
Host: foo.wordpress.com
Content-Type: text/xml
Content-length: 333

< ?xml version="1.0"?>
< methodCall>
< methodName>metaWeblog.getCategories< /methodName>
<params>
<param>
<value><string>(Blog ID)</string></value>
</param>
<param>
<value><string>(使用者名稱)</string></value>
</param>
<param>
<value><string>(密碼)</string></value>
</param>
</params>
< /methodCall>


當你送出這樣的 request 後,Blog 就會回傳一個 XML 文件,裡面當然就是關於你分類的資訊,作一些簡單的 parse 就可以拿到所有分類的字串囉!