BaseHTTPHandler из модуля BaseHTTPServer, по-видимому, не предоставляет какого-либо удобного способа доступа к параметрам HTTP-запроса. Каков наилучший способ анализа параметров GET из пути и параметров POST из тела запроса?
Прямо сейчас я использую это для 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 = {}
Это работает в большинстве случаев, но я бы хотел что-то более надежное, которое правильно обрабатывает кодировки и случаи, например, пустые параметры. В идеале я хотел бы что-то маленькое и автономное, а не полноценный веб-фреймворк.