from BaseHTTPServer import BaseHTTPRequestHandler import urlparse, json class GetHandler(BaseHTTPRequestHandler): def do_GET(self): parsed_path = urlparse.urlparse(self.path) message = '\n'.join([ 'client_address=%s (%s)' % (self.client_address, self.address_string()), 'command=%s' % self.command, 'path=%s' % self.path, 'real path=%s' % parsed_path.path, 'query=%s' % parsed_path.query, 'request_version=%s' % self.request_version, 'headers=%s' % self.headers, '', 'server_version=%s' % self.server_version, 'sys_version=%s' % self.sys_version, 'protocol_version=%s' % self.protocol_version, '', ]) self.send_response(200) self.end_headers() self.wfile.write(message) return def do_POST(self): content_len = int(self.headers.getheader('content-length')) post_body = self.rfile.read(content_len) self.send_response(200) self.end_headers() data = json.loads(post_body) self.wfile.write(data['foo']) return if __name__ == '__main__': from BaseHTTPServer import HTTPServer port = 8081 server = HTTPServer(('localhost', port), GetHandler) print 'Starting server at http://localhost:{}'.format(port) server.serve_forever()