我只是想知道,怎样才能用python发送一个xml-rpc请求?我知道您可以使用xmlrpclib,但如何在xml中发送请求以访问函数?
我希望看到xml的响应。
因此,基本上我想将以下内容作为我的请求发送到服务器:

<?xml version="1.0"?>
<methodCall>
  <methodName>print</methodName>
  <params>
    <param>
        <value><string>Hello World!</string></value>
    </param>
  </params>
</methodCall>

然后回复

最佳答案

下面是Python中的一个简单的XML-RPC客户机:

import xmlrpclib

s = xmlrpclib.ServerProxy('http://localhost:8000')
print s.myfunction(2, 4)

使用此服务器:
from SimpleXMLRPCServer import SimpleXMLRPCServer
from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler

# Restrict to a particular path.
class RequestHandler(SimpleXMLRPCRequestHandler):
    rpc_paths = ('/RPC2',)

# Create server
server = SimpleXMLRPCServer(("localhost", 8000),
                            requestHandler=RequestHandler)

def myfunction(x, y):
    status = 1
    result = [5, 6, [4, 5]]
    return (status, result)
server.register_function(myfunction)

# Run the server's main loop
server.serve_forever()

要访问xmlrpclib的内核,即查看原始XML请求等,请在文档中查找xmlrpclib.Transport类。

09-25 21:41