BaseHTTPHandler aus dem BaseHTTPServer-Modul scheint keine bequeme Möglichkeit zum Zugriff auf HTTP-Anforderungsparameter zu bieten. Was ist der beste Weg, um die GET-Parameter aus dem Pfad und die POST-Parameter aus dem Anfragetext zu analysieren?http Get und POST-Parameter von BaseHTTPHandler?
Gerade jetzt, ich bin mit dieser für 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 = {}
Diese für die meisten Fälle funktioniert, aber ich möchte etwas robuster, die richtig Kodierungen und Fälle wie leere Parameter verarbeitet. Im Idealfall möchte ich etwas Kleines und Standalone statt eines vollständigen Web-Frameworks.
Die CGI-Bibliothek nicht Kodierungen umgehen (wie utf -8) für Sie, also ist es weniger geeignet als einige der anderen verfügbaren Bibliotheken. – Wolph
Die Codierung kann an das dateiähnliche 1. Argument von FieldStorage delegiert werden. – gimel
Richtig, aber warum sollten Sie sich kümmern, wenn es Skripte gibt, die das für Sie erledigen, einschließlich der Erfassung von Fehlern? Keine Notwendigkeit, das Rad neu zu erfinden. – Wolph