XML-RPC
xmlrpc是使用http协议做为传输协议的rpc机制,使用xml文本的方式传输命令和数据。
一个rpc系统,必然包括2个部分:
1)rpc client,用来向rpc server调用方法,并接收方法的返回数据;
2)rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。
RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。
以上内容摘自:百度百科
xmlrpc的好处:
1. 传输复杂的数据。
2. 通过程序语言的封装,实现远程对象的调用。
一个示例:
# The server code from SimpleXMLRPCServer import SimpleXMLRPCServer def is_even(n): return n%2 == 0 server = SimpleXMLRPCServer(("localhost", 8000)) print "Listening on port 8000..." server.register_function(is_even, "is_even") server.serve_forever()
# The client code import xmlrpclib proxy = xmlrpclib.ServerProxy("http://localhost:8000/") print "3 is even: %s" % str(proxy.is_even(3)) print "100 is even: %s" % str(proxy.is_even(100))
支持传输的数据类型:
Name | Meaning |
---|---|
boolean | The True and False constants |
integers | Pass in directly |
floating-point numbers | Pass in directly |
strings | Pass in directly |
arrays | Any Python sequence type containing conformable elements. Arrays are returned as lists |
structures | A Python dictionary. Keys must be strings, values may be any conformable type. Objects of user-defined classes can be passed in; only their __dict__ attribute is transmitted. |
dates | in seconds since the epoch (pass in an instance of the DateTime class) or a datetime.datetime instance. |
binary data | pass in an instance of the Binary wrapper class |
xmlrpc能用来干啥?
开发API。
大名鼎鼎的WordPress就有xmlrpc接口,比如,可以用于该接口发布文章。想了解更多可以看这篇文章 http://blog.bluesky.cn/archives/466/using-xml-rpc-protocol-to-read-and-write-articles-on-wordpress.html,我还找到了封装非常好的库wordpresslib(http://www.blackbirdblog.it/programmazione/progetti/28)。
参考文章:
http://docs.python.org/library/xmlrpclib.html
http://en.wikipedia.org/wiki/XML-RPC
http://www.cnblogs.com/coderzh/archive/2008/12/03/1346994.html
呵呵,谢谢
VaTG790i.最好的<a href=http://www.kyfei.com>网站推广软件</a>,
非常好
....................
;ui;普i;uighur;ui;ui;个
在unix网络编程中看到了关于TCP/IP的一些内容,我感觉还是写的不够。正在下载中,一定
下载地址呢