我有一个简单的 xmlrpc 服务器设置来启动 SMTP 服务器,代码在这里:
from SimpleXMLRPCServer import SimpleXMLRPCServer
import smtplib
# Create server
server = SimpleXMLRPCServer(("localhost", 1025), allow_none = True)
# add the introspection functions (system.listMethods, system.methodHelp
# and system.methodSignature)
server.register_introspection_functions()
def send(host, port):
server = smtplib.SMTP((host, port), None)
# register this method
server.register_function(send, 'send')
# start server
server.serve_forever()
我启动此服务器并在客户端执行以下步骤:
import xmlrpclib
s = xmlrpclib.ServerProxy('http://localhost:1025')
s.send('0.0.0.0',25)
这导致以下错误我不明白:
xmlrpclib.Fault: <Fault 1: "<type 'exceptions.AttributeError'>:'tuple' object has no attribute 'find'">
这里的元组对象是什么意思?为什么代码需要属性查找?有什么想法可以帮助我使此代码正常工作,即我能够发出 xmlrpc 请求来初始化(并稍后使用)xmlrpc 服务器内的 smtp 服务器?
谢谢亚历克斯