python类库31[XML RPC实例]
来源:互联网 发布:淘宝外贸原单可信吗 编辑:程序博客网 时间:2024/05/10 00:45
一 远程过程调用RPC
XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a transport. With it, a client can call methods with parameters on a remote server (the server is named by a URI) and get back structured data. This module supports writing XML-RPC client code; it handles all the details of translating between conformable Python objects and XML on the wire.
简单地,client可以调用server上提供的方法,然后得到执行的结果。类似与webservice。
推荐查看xmlprc的源文件:C:\Python31\Lib\xmlrpc
二 实例
1) Server
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
def div(x,y):
return x - y
class Math:
def _listMethods(self):
# this method must be present for system.listMethods
# to work
return ['add', 'pow']
def _methodHelp(self, method):
# this method must be present for system.methodHelp
# to work
if method == 'add':
return "add(2,3) => 5"
elif method == 'pow':
return "pow(x, y[, z]) => number"
else:
# By convention, return empty
# string if no help is available
return ""
def _dispatch(self, method, params):
if method == 'pow':
return pow(*params)
elif method == 'add':
return params[0] + params[1]
else:
raise 'bad method'
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_introspection_functions()
server.register_function(div,"div")
server.register_function(lambda x,y: x*y, 'multiply')
server.register_instance(Math())
server.serve_forever()
2)client
import xmlrpc.client
s = xmlrpc.client.ServerProxy('http://localhost:8000')
print(s.system.listMethods())
print(s.pow(2,3)) # Returns 28
print(s.add(2,3)) # Returns 5
print(s.div(3,2)) # Returns 1
print(s.multiply(4,5)) # Returns 20
3)result
完!
- python类库31[XML RPC实例]
- Python RPC 之 xml-rpc
- XML-RPC 之 Apache XML-RPC 实例
- Python XML-RPC
- Python中的 XML-RPC
- Python XML-RPC入门
- linux 下 rpc python 实例之使用XML-RPC进行远程文件共享
- XML-RPC的HelloWorld实例
- RPC协议及其python实例
- [转]XML-RPC的HelloWorld实例
- xml-rpc 2.0和3.0实例
- apache的xml-rpc(Demo实例)
- 尝试Python的XML-RPC远程调用
- python 多线程 XML RPC的实现
- python多线程XML-RPC的实现
- Python中关于XML-RPC原理
- The Python web services developer: XML-RPC for Python
- XML-RPC
- 第三次作业
- 常见应用程序的架构
- Linux查找文件的相关命令
- Overload Overwrite Override
- .Net第三方工具列表
- python类库31[XML RPC实例]
- 存储技术概述
- 存储技术资料
- 存储设备之NAS
- Rsync工作原理
- python技巧31[文件类型+打包EXE]
- python语法31[module/package+import]
- AOP入门
- 商业软件、共享软件和自由软件