Python中的XMLRPC服务器和客户端模块

我们可以使用XML-RPC创建自己的跨平台,独立于语言的服务器,并protocol.We使用SimpleXMLRPCServer创建SimpleXMLRPCServer实例并告诉它侦听传入的请求。接下来,我们定义一些功能作为服务的一部分,并注册这些功能,以便服务器知道如何调用它。

运行服务器

在下面的示例中,我们使用SimpleXMLRPCServer实例创建服务器,并注册一些预定义以及自定义函数。最后,我们将服务器置于无限循环中,以接收和响应请求。

例子

fromxmlrpc.serverimport SimpleXMLRPCServer

fromxmlrpc.serverimport SimpleXMLRPCRequestHandler

class RequestHandler(SimpleXMLRPCRequestHandler):

   rpc_paths = ('/RPC2',)

with SimpleXMLRPCServer(('localhost', 9000),

                        requestHandler=RequestHandler) as server:

   server.register_introspection_functions()

   # 注册len()函数;

   server.register_function(len)

   # 用其他名称注册功能

   @server.register_function(name='rmndr')

   def remainder_function(x, y):

      return x // ÿ

   # 在function .__ name__下注册一个函数。

   @server.register_function

   def modl(x, y):

      return x % y

   server.serve_forever()

一旦启动上述服务器,就可以由客户端程序调用该服务器,该客户端程序可以引用这些函数并进行函数调用。

运行客户端

例子

import xmlrpc.client

s = xmlrpc.client.ServerProxy('http://localhost:9000')

print(s.len("Nhooo"))

print(s.rmndr(12,5))

print(s.modl(7,3))

# 打印可用方法列表

print(s.system.listMethods())

输出

运行上面的代码给我们以下结果-

14

2

1

['len', 'modl', 'rmndr', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']

以上是 Python中的XMLRPC服务器和客户端模块 的全部内容, 来源链接: utcz.com/z/311517.html

回到顶部