让我们定义一个简单的 xmlrpc 服务器,如下代码所示:
from SimpleXMLRPCServer import SimpleXMLRPCServer
def add(x,y):
return x+y
server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(add, 'addthem')
server.register_function(add, 'add.numbers')
server.register_function(add, 'sum.two.numbers')
server.serve_forever()
您可以通过
import xmlrpclib
dev = xmlrpclib.ServerProxy("http://localhost:8000/RPC2")
使用该dev
对象,您不能访问服务器中的(为了简单起见)功能add
,例如
print dev.addthem(1,2)
print dev.add.numbers(1,2)
print dev.sum.two.numbers(1,2)
我的问题:这些电话的内容是什么?什么是dev
(我想是 的一个实例xmlrpclib.ServerProxy
),什么是sum
(dev.sum
一个函数?一个可调用的?一个类?一个实例?)。two
里面有什么dev.sum.two
...
例如,以下语法
print dev.add
导致错误
xmlrpclib.Fault: <Fault 1: '<type \'exceptions.Exception\'>:method "add.__str__" is not supported'>
那不应该总是打印一些东西吗?什么是 dev.add
和其他部分?