http.server - Unsupported method ('POST') http.server - Unsupported method ('POST') python-3.x python-3.x

http.server - Unsupported method ('POST')


Thank you @MonkeyZeus, I managed to solve the problem by making a few changes to your code.

import socketserverimport http.serverimport loggingimport cgiPORT = 80class ServerHandler(http.server.SimpleHTTPRequestHandler):    def do_GET(self):        logging.error(self.headers)        http.server.SimpleHTTPRequestHandler.do_GET(self)    def do_POST(self):        logging.error(self.headers)        form = cgi.FieldStorage(            fp=self.rfile,            headers=self.headers,            environ={'REQUEST_METHOD':'POST',                     'CONTENT_TYPE':self.headers['Content-Type'],                     })        for item in form.list:            logging.error(item)        http.server.SimpleHTTPRequestHandler.do_GET(self)        with open("data.txt", "w") as file:            for key in form.keys():                 file.write(str(form.getvalue(str(key))) + ",")Handler = ServerHandlerhttpd = socketserver.TCPServer(("", PORT), Handler)print("serving at port", PORT)httpd.serve_forever()

When the post request is received, a text file called "data" is created. A for loop is then used to iterate through the keys (source) and write there values to the file.