Python: How do I get key/value pairs from the BaseHTTPRequestHandler HTTP POST handler?

http, post, python

Solution

def do_POST(self):
    ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
    if ctype == 'multipart/form-data':
        postvars = cgi.parse_multipart(self.rfile, pdict)
    elif ctype == 'application/x-www-form-urlencoded':
        length = int(self.headers.getheader('content-length'))
        postvars = cgi.parse_qs(self.rfile.read(length), keep_blank_values=1)
    else:
        postvars = {}
    ...

Problem

given the simplest HTTP server, how do I get post variables in a BaseHTTPRequestHandler? ``` from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer class Handler(BaseHTTPRequestHandler): def do_POST(self): # post variables?! server = HTTPServer(('', 4444), Handler) server.serve_forever() # test with: # curl -d "param1=value1&param2=value2" http://localhost:4444 ``` I would simply like to able to get the values of param1 and param2. Thanks!

Original source

Related problems