BaseHTTPHandler z modułu BaseHTTPServer nie zapewnia wygodnego dostępu do parametrów żądania http. Jaki jest najlepszy sposób analizowania parametrów GET ze ścieżki i parametrów POST z treści żądania?Parse http parametry GET i POST z BaseHTTPHandler?
Teraz używam tego dla 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 = {}
Działa to w większości przypadków, ale chciałbym coś bardziej solidnego, który obsługuje kodowanie oraz przypadków, jak właściwie pustych parametrów. Idealnie, chciałbym coś małego i niezależnego, a nie pełną strukturę sieci.
Biblioteka CGI nie obsługuje kodowania (jak UTF -8) dla ciebie, więc jest mniej odpowiedni niż niektóre inne dostępne biblioteki. – Wolph
Kodowanie można przekazać do pliku podobnego do pierwszego argumentu FieldStorage. – gimel
To prawda, ale po co zawracać sobie głowę, gdy istnieją skrypty, które sobie z tym poradzą, w tym łapanie błędów? Nie trzeba wymyślać koła. – Wolph