在Python中结合SimpleXMLRPCServer和BaseHTTPRequestHandler

因为跨域xmlrpc请求在JavaScript中是不可能的
我需要创建一个Python应用程序,该应用程序通过HTTP公开一些HTML,并在同一域上公开XML-RPC服务.

在python中创建HTTP请求处理程序和SimpleXMLRPCServer非常容易,
但是他们俩都必须在不同的端口(即不同的域)上侦听.

有没有一种方法可以创建将在本地主机上的单个端口上侦听的内容
并公开HTTPRequestHandler和XMLRPCRequest处理程序?

现在,我有两种不同的服务:

httpServer = HTTPServer(('localhost',8001), HttpHandler);
xmlRpcServer = SimpleXMLRPCServer(('localhost',8000),requestHandler=RequestHandler)

更新资料

>我无法在设备上安装Apache
>托管页面将是单个html页面
>唯一的客户端将是python服务自行运行的设备

解决方法:

它们都是SocketServer.TCPServer的子类.必须有某种方式来重构它们,以便一旦服务器实例可以分派给两者.

一个更简单的替代方法是将HTTPServer放在最前面,并将XML RPC代理到SimpleXMLRPCServer实例.

上一篇:如何使用第一个可用端口在Python中创建HTTP服务器?


下一篇:Windows 10上源码编译Poco并编写httpserver和tcpserver | compile and install poco cpp library on windows