from http.server import SimpleHTTPRequestHandler, HTTPServer xml_data = """ null Device.X_000E8F_DeviceFeature.X_000E8F_WebServerEnable 1 SetPValues1234 """ class HTTPRequestHandler(SimpleHTTPRequestHandler): """This handler uses server.base_path instead of always using os.getcwd()""" def do_GET(self): self.send_response(200) self.send_header("Content-type", "text/xml") self.end_headers() self.wfile.write(xml_data.strip().encode("utf-8")) def do_POST(self): content_len = int(self.headers.get("Content-Length", 0)) post_body = self.rfile.read(content_len).decode("utf-8") print(post_body) self.send_response(200) self.send_header("Content-type", "text/xml") self.end_headers() if "cwmp:SetParameterValuesResponse" in post_body or "cwmp:Fault" in post_body: return self.wfile.write(xml_data.strip().encode("utf-8")) httpd = HTTPServer(("", 8443), HTTPRequestHandler) httpd.serve_forever()