星期日, 四月 29, 2007

PHP XML-RPC Client(encode_xmlrpc)

XMLRPC 分成 Server 和 Client, 已有現成的 Server, 需要使用到 Client 去向 Server 要資料.

查 php.net 有 xmlrpc_encode(), 但是測試發現 xmlrpc_encode 送去的 XML 格式不符合(可能是我不會用吧!),  然後又找了下面幾個來看:

目的是要用是 PHP 來寫, 應該是使用 Sourceforge 的 XML-RPC for PHP, 而且也有詳細的說明(xmlrpc_client document), 但是試了好像也是有點問題(這個應該是我不會用, 又沒有心認真學習吧 XD).

所以還是直接看看 XML-RPC Spec 比較快: XML-RPC Specification

就看了 XML-RPC Spec, 基本上就是送一個 XML Document 過去, 然後 Server 也會回傳 XML Document 回來, 只要規格符合即可,  所以就寫個 encode_xmlrpc()(為了不跟 xmlrpc_encode 函數相衝, 反過來取名), 此 function 會產生 client 需要送過去的 XML Document, 然後再利用 curl幫做 POST動作 送給 XML-RPC Server,接收回來的 XML Document再用 xmlrpc_decode() 後, 就是個很好用的 Array囉~ :)

程式如下, 最下面 test 區塊有使用範例(註解):

相關標籤

this is comment icon [回覆]

呵呵~

純粹路過看到這篇文章

一年前我也遇到跟你相同的問題,當初我是用php4,後來的解法跟你一樣 ~ 因此看到您的文章不禁會心一笑 = =

不知道是我們有錯還是別人有錯 呵

Comment by kueihuan-chen (04/29/2007 23:01)

this is comment icon 回 kueihuan-chen [回覆]

哈.. XD
XML-RPC 在 php.net 的 document 看起來像是被遺棄的小孩一樣.. Orz..

Comment by Tsung (04/29/2007 23:29)
Add this page to del.icio.us Add this page to Yahoo Taiwan's bookmark Add this page to MyShare

發表迴響

標題

內容 (限制 1000 字)

暱稱

電子郵件

個人網頁


 authimage


PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~