XML-RPC学习笔记(一)

我得XML-RPC学习是从 Eric Kidd 的 XML-RPC HOWTO 开始的,下面是原作的地址,直接看英文原版效果更好。

http://xmlrpc-c.sourceforge.net/xmlrpc-howto/xmlrpc-howto.html

XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用,故名思义,就是采用XML作为调用远程方法的媒介。由于XML的简单性,所以采用XML-RPC相对比较容易。

下面贴个Python的代码,演示一个XML-RPC的应用:

python> import xmlrpclib
python> server = xmlrpclib.Server("http://betty.userland.com/RPC2")
python> server.examples.getStateName(41)
'South Dakota'

非常简单的函数调用。

XML-RPC协议的说明书是 http://www.xmlrpc.com/spec ,作者是 Dave Winer 。有兴趣可以参考参考,下面贴一个简单的用于通讯的XML。

1<methodcall>
2<methodname>sample.sumAndDifference</methodname>
3<params>
4<param/><value><int>5</int></value>
5<param/><value><int>3</int></value>
6</params>
7</methodcall>

XML-RPC本身支持很多数据类型,下面是他支持的数据类型清单:

int:有符号32位整型数 string:ASCII字符串,可以包含NULL字节。(实际上很多XML-RPC支持Unicode,这要归功于XML的潜在特性。) boolean:true 或者 false double:双精度浮点数 dateTime.iso8601:日期,很不幸的是自从XML-RPC禁止了使用时区,这个便很少被使用了。 base64:任意长度的原始二进制数据;使用Base64算法编码,非常有用。 array:一维数组 struct:一组“键-值”对,“键”是字符串,“值”可以是任何类型。

XML-RPC的历史参考 http://xmlrpc-c.sourceforge.net/xmlrpc-howto/xmlrpc-howto-history.html

Published At
Categories with Web编程
Tagged with
comments powered by Disqus