python XMLRPCServer
引言
实现PRC(XML Remote Procedure Call,即XML远程方法调用) 是需要Server 和Client端。 在python中也常用到两个模块: xmlrpclib/SimpleXMLRPCServer
- xmlrpclib: 常用于client 端,非安全模块,需要自己完善安全机制
- SimpleXMLRPCServer: 用于Server端,提供最基本XML-RPC服务器框架。
实现过程
创建SimpleXMLRPCServer 对象 –> register functions/instance –> start server
创建Client 对象 –> call server function.
简单Server 创建
#import
from SimpleXMLRPCServer import SimpleXMLRPCServer
#from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler
#function will register to server
def add(x,y):
return x+y
#Instance will register to Server
class MyClass:
def div(self,x,y):
return x//y
#Create object of server
s = SimpleXMLRPCServer(("localhost",8000))
#Register introspection functions
s.register_introspection_functions()
#Register functions and instances.
s.register_function(add,"add")
s.register_instance(MyClass())
#Start Server
s.serve_forever()
简单Client 创建
#import
import xmlrpclib
#Create client object
s = xmlrpclib.ServerProxy('http://localhost:8000')
#use server functions
print s.system.listMethods()
print s.add(2,3)
print s.div(2,3)
参考资料
官网:
https://docs.python.org/2/library/simplexmlrpcserver.html
https://docs.python.org/2/library/xmlrpclib.html
其他:
http://www.jb51.net/article/44515.htm
http://hgoldfish.com/blogs/article/50/