Hướng dẫn python decode http request - python giải mã yêu cầu http
Tôi đang viết một máy chủ web không đồng bộ thử nghiệm. Tôi đang tự hỏi về cách tiêu chuẩn / 'tốt nhất' để giải mã các yêu cầu HTTP trong Python? Show Về cơ bản, những gì đọc từ ổ cắm mang lại cho tôi là biểu diễn byte của dữ liệu thô yêu cầu đến; Làm thế nào tôi có thể biến chúng thành các kiểu dữ liệu tiêu chuẩn như từ điển, danh sách các giá trị, v.v. Có một hướng dẫn tổng quát tốt làm thế nào để làm điều này và những gì để xem (đặc biệt là liên quan đến mã hóa và trình duyệt cụ thể của trình duyệt)?
Hỏi ngày 18 tháng 8 năm 2010 lúc 12:41Aug 18, 2010 at 12:41
Điều này làm việc cho tôi:
Nhưng nó không giải mã được yêu cầu (ví dụ: get /index.html http /1.2) - nó sẽ giải mã phần còn lại cho bạn mặc dù Đã trả lời ngày 7 tháng 6 năm 2013 lúc 16:03Jun 7, 2013 at 16:03
StackMatestackMatestackmate 8789 Huy hiệu bạc16 Huy hiệu Đồng9 silver badges16 bronze badges Nhìn thấy 20.10.4. Các đối tượng httpmessage Một phiên bản http.client.httpmessage giữ các tiêu đề từ phản hồi HTTP. Nó được triển khai bằng cách sử dụng lớp Email.Message.Message. http://docs.python.org/py3k/library/http.client.html#httpmessage-objects Bạn sẽ có thể sử dụng 8 như một lớp độc lập mà không cần gọi Urllib (hoặc bất cứ điều gì tương đương Python 3).Đã trả lời ngày 18 tháng 8 năm 2010 lúc 17:26Aug 18, 2010 at 17:26
Wai Yip Tungwai Yip TungWai Yip Tung 17.6K10 Huy hiệu vàng42 Huy hiệu bạc46 Huy hiệu đồng10 gold badges42 silver badges46 bronze badges Đừng đối phó với ổ cắm; trừu tượng! Hãy thử httplib2. Đó là một thư viện HTTP hoàn chỉnh cho Python 2 và 3, và nó rất trực quan, mặc dù bạn phải tải xuống và cài đặt nó. Đọc ví dụ sử dụng của nó để giới thiệu nhanh. Đi sâu vào Python 3 bao gồm một chương rất hay về việc cài đặt và sử dụng httplib2, và tại sao nó tốt hơn các lựa chọn thay thế khác, bao gồm thư viện tiêu chuẩn; Tôi khuyên bạn nên đọc điều đó. Đã trả lời ngày 21 tháng 8 năm 2010 lúc 14:59Aug 21, 2010 at 14:59
Humphrey Bogarthumphrey BogartHumphrey Bogart 7.21313 Huy hiệu vàng51 Huy hiệu bạc59 Huy hiệu Đồng13 gold badges51 silver badges59 bronze badges Thư viện Requests trong Python giúp lập trình viên có thể thực hiện các tác vụ như gửi request tới server cũng như xử lý response một cách đơn giản. Trong bài viết này chúng ta sẽ tìm hiểu cách sử dụng thư viện này.Requests trong Python giúp lập trình viên có thể thực hiện các tác vụ như gửi request tới server cũng như xử lý response một cách đơn giản. Trong bài viết này chúng ta sẽ tìm hiểu cách sử dụng thư viện này.
Cách đơn giản nhất để cài đặt thư viện Request đó là sử dụng chương trình 9.Request đó
là sử dụng chương trình 9.Việc cài đặt 9 có thể được thực hiện một cách đơn giản thông qua 1:
Ngoài ra, nếu bạn sử dụng Mac OSX thì việc cài đặt 9 khá đơn giản thông qua HomeBrew:
Sau khi đã có 9 chúng ta sẽ thực hiện việc cài đặt thư viện Requests. Mở cửa sổ dòng lệnh và chạy câu lệnh sau:Requests. Mở cửa sổ dòng lệnh và chạy câu lệnh sau:
Sau khi hoàn tất việc cài đặt thì bây giờ chúng ta đã sẵn sàng để bắt đầu sử dụng thư viện này. Ở phần tiếp theo sau tôi sẽ chạy code Python trong interactive, tuy nhiên nếu muốn bạn có thể tạo file chương trình python riêng để chạy code. Để truy cập vào Python interactive mode bạn chạy câu lệnh 4 trên cửa sổ dòng lệnh.Gửi HTTP GET RequestTrước tiên chúng ta cần import thư viện Requests vào sử dụng trong chương trình:
Để gửi một HTTP GET request tới địa chỉ URL là 5:
Sau khi chạy câu lệnh trên biến 6 lúc này sẽ chứa thông tin response trả về từ server. Để xem dữ liệu của response trả về dưới định dạng văn bản chúng ta sử dụng câu lệnh:
Chúng ta có thể thêm query parameter trong GET request trực tiếp trong URL:
Hoặc bạn cũng có thể sử dụng cách khác như sau:
Kiểm tra URL của request:
Gửi HTTP POST RequestỞ ví dụ dưới đây chúng ta sẽ gửi HTTP POST request tới địa chỉ URL là 7 với hai trường dữ liệu là 8 và 9: 0Request được thực hiện bởi Python ở đoạn code trên sẽ tương tự trường hợp khi bạn truy cập trang login điền các dữ liệu cho 2 trường 8 và 1 vào HTML form và nhấp Enter để trình duyệt gửi request tới server.Để gửi POST request với giá trị của trường 2 trong HTTP header là 3 thì chúng ta cần sử dụng parameter là 4 thay vì 5: 1Nếu cả 2 parameter 5 và 4 đều được sử dụng khi gửi POST request thì parameter 5 sẽ được chọn: 2Để upload một file lên server sử dụng POST request chúng ta sẽ cần chuyền vào giá trị cho tham số 9. Giá trị này là một dictionary với tên trường dùng để xác định file được tải lên và giá trị là file object tương ứng: 3Gửi HTTP PUT, DELETE, HEAD Và OPTION RequestCác request dạng này tương tự như GET request mà chúng ta đã tham khảo ở mục trước: 4Response ContentĐể lấy ra nội dung của response trả về dạng văn bản: 5Trường hợp văn bản trả về trong response có định dạng JSON thì lúc này chúng ta có thể decode dữ liệu này như sau: 6Response Status CodesĐể kiểm tra HTTP status code của response trả về cho request: 7 |