BaseHTTPHandler từ mô-đun BaseHTTPServer dường như không cung cấp bất kỳ cách thuận tiện nào để truy cập thông số yêu cầu http. Cách tốt nhất để phân tích cú pháp các tham số GET từ đường dẫn và tham số POST từ phần thân yêu cầu là gì?Phân tích http GET và POST tham số từ BaseHTTPHandler?
Ngay bây giờ, tôi đang sử dụng này cho 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 = {}
này hoạt động cho hầu hết các trường hợp, nhưng tôi muốn một cái gì đó mạnh mẽ hơn để xử lý mã hóa và các trường hợp như các thông số có sản phẩm nào đúng. Lý tưởng nhất, tôi muốn một cái gì đó nhỏ và độc lập, chứ không phải là một khuôn khổ web đầy đủ.
Thư viện CGI không xử lý mã hóa (như utf -8) cho bạn vì vậy nó ít phù hợp hơn so với một số thư viện khác có sẵn. – Wolph
Việc mã hóa có thể được ủy quyền cho đối số 1 giống như tệp của FieldStorage. – gimel
Đúng, nhưng tại sao phải bận tâm khi có các kịch bản xử lý việc này cho bạn bao gồm cả việc bắt lỗi? Không cần phải phát minh lại bánh xe. – Wolph