Estoy convirtiendo una aplicación Python2.6 en una aplicación Python3 y me estoy quedando atascado 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?Python3 http.server POST example
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]);
¿De qué manera el servidor normal no maneja las solicitudes de publicación en Python 3, que lo hace en Python 2? ¿Puedes explicarme cuál es el problema? –
Sí, no implicará una función do_post() mientras que la de Python2 sí lo hará. No hay ejemplos de código sólido sobre cómo superarlo en la documentación de Python y Google no le ha ayudado tampoco. – Teifion