XMLRPC 进修笔记(Python实现) -- 络续更新
添加时间:2013-6-17 点击量:
参考文章:
- http://baike.baidu.com/view/643379.htm
- http://docs.python.org/2/library/xmlrpclib.html
- http://docs.python.org/2/library/simplexmlrpcserver.html
总览:
RPC是Remote Procedure Call的缩写,翻译成中文就是长途办法调用,是一种在本地的机械上调用远端机械上的一个过程(办法)的技巧,这个过程也被大师称为“分布式策画”,是为了进步各个分立机械的“互操纵性”而发明出来的技巧。
XML-RPC的全称是XML Remote Procedure Call,即XML长途办法调用。
- 它是一套容许运行在不合操纵体系、不合景象的法度实现基于Internet过程调用的规范和一系列的实现。
- 这种长途过程调用应用http作为传输和谈,XML作为传送信息的编码格局。
- Xml-Rpc的定义尽可能的对峙了简单,但同时可以或许传送、处理惩罚、返回错杂的数据布局。
Python下的XML-RPC:
- 类库:xmlrpclib
- 一般应用在客户端
- 这个模块用来调用注册在XML-RPC办事器端的函数
- xmlrpclib并不是一个类型安然的模块,无法抵抗恶意机关的数据,这方面的一些处理惩罚工作须要交给开辟者本身。
- 类库:SimpleXMLRPCServer
- 一般是用在办事器端
- 这个模块用来机关一个最根蒂根基的XML-RPC办事器框架
- 机关一个根蒂根基的XML-RPC Server:
1 SimpleXMLRPCServer import SimpleXMLRPCServer
2
3 def is_even(n):
4 return n%2 == 0
6 server = SimpleXMLRPCServer((localhost, 8000))#断定URL和端口
7 print Listening on port 8000...
8 server.register_function(is_even, is_even) #注册is_even函数
9 server.serve_forever()#启动办事器,并使其对这个连接可用
4. 机关一个根蒂根基的XML-RPC Client:
1 import xmlrpclib
2
3 proxy = xmlrpclib.ServerProxy(http://localhost:8000/)
4 print 3 is even: %s % str(proxy.is_even(3))#客户端调用XML-RPC函数
5 print 100 is even: %s % str(proxy.is_even(100))
上述两段代码实现了一个最根蒂根基的XML-RPC办事器端和客户端,主如果为了论说XML-RPC的根蒂根基概念。
比来因为工作的关系用到这一模块的相干功能,我也在积极进修中,我会将之后学到的新常识及时补充完美到博客上来。
若是您有一些很是不错的心得迎接留言指教。
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
参考文章:
- http://baike.baidu.com/view/643379.htm
- http://docs.python.org/2/library/xmlrpclib.html
- http://docs.python.org/2/library/simplexmlrpcserver.html
总览:
RPC是Remote Procedure Call的缩写,翻译成中文就是长途办法调用,是一种在本地的机械上调用远端机械上的一个过程(办法)的技巧,这个过程也被大师称为“分布式策画”,是为了进步各个分立机械的“互操纵性”而发明出来的技巧。
XML-RPC的全称是XML Remote Procedure Call,即XML长途办法调用。
- 它是一套容许运行在不合操纵体系、不合景象的法度实现基于Internet过程调用的规范和一系列的实现。
- 这种长途过程调用应用http作为传输和谈,XML作为传送信息的编码格局。
- Xml-Rpc的定义尽可能的对峙了简单,但同时可以或许传送、处理惩罚、返回错杂的数据布局。
Python下的XML-RPC:
- 类库:xmlrpclib
- 一般应用在客户端
- 这个模块用来调用注册在XML-RPC办事器端的函数
- xmlrpclib并不是一个类型安然的模块,无法抵抗恶意机关的数据,这方面的一些处理惩罚工作须要交给开辟者本身。
- 类库:SimpleXMLRPCServer
- 一般是用在办事器端
- 这个模块用来机关一个最根蒂根基的XML-RPC办事器框架
- 机关一个根蒂根基的XML-RPC Server:
1 SimpleXMLRPCServer import SimpleXMLRPCServer
2
3 def is_even(n):
4 return n%2 == 0
6 server = SimpleXMLRPCServer((localhost, 8000))#断定URL和端口
7 print Listening on port 8000...
8 server.register_function(is_even, is_even) #注册is_even函数
9 server.serve_forever()#启动办事器,并使其对这个连接可用
4. 机关一个根蒂根基的XML-RPC Client:
1 import xmlrpclib
2
3 proxy = xmlrpclib.ServerProxy(http://localhost:8000/)
4 print 3 is even: %s % str(proxy.is_even(3))#客户端调用XML-RPC函数
5 print 100 is even: %s % str(proxy.is_even(100))
上述两段代码实现了一个最根蒂根基的XML-RPC办事器端和客户端,主如果为了论说XML-RPC的根蒂根基概念。
比来因为工作的关系用到这一模块的相干功能,我也在积极进修中,我会将之后学到的新常识及时补充完美到博客上来。
若是您有一些很是不错的心得迎接留言指教。
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》