simplehttprequesthandler simple example create python python-3.x

simple - Ejemplo de POST http.server de Python3



simple python http server post (1)

Después de hurgar y algunas horas más de googleo, he encontrado los siguientes trabajos.

def do_POST(self): length = int(self.headers[''Content-Length'']) post_data = urllib.parse.parse_qs(self.rfile.read(length).decode(''utf-8'')) # You now have a dictionary of the post data self.wfile.write("Lorem Ipsum".encode("utf-8"))

Estoy sorprendido de lo fácil que fue esto.

Estoy convirtiendo una aplicación Python2.6 en una aplicación Python3 y me estoy quedando atrapado con el servidor. Me las he arreglado para que sirva las solicitudes GET, pero POST continúa eludiéndome. Esto es lo que comencé en 2.6 que funcionó pero en 3.x el servidor normal no maneja las solicitudes POST. De mi lectura del manual de Python parece que debo usar una clase de servidor CGI en su lugar y también asignar los scripts a ese directorio. Prefiero no tener que hacer esto, pero no puedo encontrar otra manera. ¿Me estoy perdiendo de algo?

def do_POST(self): ctype, pdict = cgi.parse_header(self.headers.get(''content-type'')) if ctype == ''multipart/form-data'': query = cgi.parse_multipart(self.rfile, pdict) self.send_response(301) self.end_headers() upfilecontent = query.get(''upfile'') print("filecontent", upfilecontent[0]) self.wfile.write("<HTML>POST OK.<BR><BR>"); self.wfile.write(upfilecontent[0]);