qui è la mia classe di web server:nessun modulo chiamato http.server
import http.server
import socketserver
class WebHandler(http.server.BaseHTTPRequestHandler):
def parse_POST(self):
ctype, pdict = cgi.parse_header(self.headers['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['content-length'])
postvars = urllib.parse.parse_qs(self.rfile.read(length),
keep_blank_values=1)
else:
postvars = {}
return postvars
def do_POST(self):
postvars = self.parse_POST()
print(postvars)
# reply with JSON
self.send_response(200)
self.send_header("Content-type", "application/json")
self.send_header("Access-Control-Allow-Origin","*");
self.send_header("Access-Control-Expose-Headers: Access-Control-Allow-Origin");
self.send_header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
self.end_headers()
json_response = json.dumps({'test': 42})
self.wfile.write(bytes(json_response, "utf-8"))
quando ho eseguito assistente ho ottenuto "name 'http' non è definito" dopo l'importazione http.server poi ho avuto questo "no modulo chiamato http.server"
sì, ho provato questo, ma ho ottenuto "No module named http" –
non funzionerà per me e più oltre sto usando python 2.7, allora come posso superare questo problema –
@Phanivarma Sì, il mio male - salto prima che guardassi. Controlla la mia risposta aggiornata: 'http.server' è solo Python 3, ma c'è un modulo Py2 che puoi usare. – MattDMo