Analizar los parámetros http GET y POST de BaseHTTPHandler?
BaseHTTPHandler del módulo BaseHTTPServer no parece proporcionar ninguna forma conveniente de acceder a los parámetros de solicitud http. ¿Cuál es la mejor manera de analizar los parámetros GET de la ruta y los parámetros POST del cuerpo de la solicitud?
En este momento, estoy usando esto para GET:
def do_GET(self):
parsed_path = urlparse.urlparse(self.path)
try:
params = dict([p.split('=') for p in parsed_path[4].split('&')])
except:
params = {}
Esto funciona para la mayoría de los casos, pero me gustaría algo más robusto que maneje codificaciones y casos como parámetros vacíos correctamente. Idealmente, me gustaría algo pequeño y autónomo, en lugar de un marco web completo.