Ổ cắm Python gửi trả lại vận chuyển
Xin chào, Tôi cần trợ giúp viết mã Java để biểu thị dấu xuống dòng Có ai biết cách viết mã bằng Java để vượt qua hex 0D không? Cảm ơn trước cho bất kỳ lời khuyên bạn có thể cung cấp vỗ nhẹ HTTP là viết tắt của giao thức Hyper Text Transfer. Nó là một giao thức lớp ứng dụng để truyền dữ liệu giữa máy khách và máy chủ bằng trình duyệt. Chúng ta có thể sử dụng socket để triển khai HTTP. Chúng tôi phải giải mã/mã hóa tin nhắn theo thông số kỹ thuật HTTP (RFC2616) chỉ là Văn bản. Trong bài viết này, chúng tôi sẽ triển khai những điều cơ bản của giao thức HTTP máy chủ HTTPChúng tôi sẽ tạo một ổ cắm TCP. Cổng mặc định là 80 cho HTTP. Nhưng chúng tôi sẽ sử dụng 8080 để chạy thử nghiệm Bạn có thể sử dụng mô-đun yêu cầu để nhận phản hồi từ máy chủ HTTP tùy chỉnh >>> import requests Trên máy chủ, bạn có thể thấy GET / HTTP/1.1
Một yêu cầu HTTP bao gồm sau
Dòng yêu cầu Để khái quát hóa nó, chúng ta có thể nói dòng yêu cầu bao gồm GET / HTTP/1.1 4Dòng yêu cầu của yêu cầu trên là. GET / HTTP/1.1 0Phương pháp này là GET / HTTP/1.1 1. có nghĩa là chúng tôi muốn lấy dữ liệu từ máy chủ. Lưu ý rằng phương pháp phân biệt chữ hoa chữ thường. Ở đây đường dẫn đến tài nguyên là GET / HTTP/1.1 2 là phiên bản giao thức HTTP chúng tôi đang sử dụng. Và GET / HTTP/1.1 3 là CRLF. CR-LF có nghĩa là vận chuyển trở lại. Nó có nghĩa là kết thúc dòngtiêu đề GET / HTTP/1.1 4là các trường tiêu đề yêu cầuDữ liệu Trong yêu cầu trên, chúng tôi chưa gửi bất kỳ dữ liệu nào. Hãy gửi một yêu cầu khác để hiểu mọi thứ tốt hơn một chút >>requests.post(url=”http://127.0.0.1:8080?a=1", headers= {“header1”: “value1”, “header2”: “value2”},data={“key1”: “value1”, “key2”: “value2”}) Trong bản in chúng ta có thể thấy ________số 8Ở đây phương pháp đã được thay đổi để gửi. Chúng tôi có thể thấy rằng url yêu cầu đã được sửa đổi thành GET / HTTP/1.1 5. Tiêu đề tùy chỉnh của chúng tôiGET / HTTP/1.1 6 và GET / HTTP/1.1 7 đã được thêm vào. Và dữ liệu mà GET / HTTP/1.1 8 và GET / HTTP/1.1 9 chúng tôi đã gửi cũng có mặt
Chúng tôi có thể truy cập máy chủ từ trình duyệt. Mở trình duyệt của bạn và gõ >>requests.post(url=”http://127.0.0.1:8080?a=1", headers= {“header1”: “value1”, “header2”: “value2”},data={“key1”: “value1”, “key2”: “value2”}) 0Trong thiết bị đầu cuối, bạn sẽ thấy kết quả sau GET / HTTP/1.1 5máy khách HTTPChúng tôi có thể triển khai ứng dụng khách HTTP của riêng mình bằng cách sử dụng cùng một nguyên tắc. Nó là một chương trình ổ cắm đơn giản Đoạn mã trên sẽ in GET / HTTP/1.1 6
phản hồi có
Phần kết luận Đây là xương trần đơn giản. Để biết thêm thông tin, tôi thấy mã nguồn C python hữu ích. https. //github. com/python/cpython/blob/main/Lib/http/client. py |