Mã hóa biểu mẫu
Bài học 34 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.
Khi bạn dùng -d, curl thêm một header mô tả định dạng của phần thân:
Content-Type: application/x-www-form-urlencodedTên dài đó là định dạng mà các biểu mẫu HTML luôn dùng: các cặp key=value nối với nhau bằng &. Máy chủ đọc header đó và biết cần tách phần thân tại các ký tự ấy.
Điều này dẫn đến câu hỏi hiển nhiên: nếu một giá trị chứa & hoặc = thì sao? Bạn cần mã hóa giá trị đó bằng một dấu phần trăm và hai chữ số thập lục phân. Dấu cách trở thành %20 hoặc +, dấu và trở thành %26.
--data-urlencode tự xử lý việc mã hóa đó cho bạn, và bạn nên ưu tiên dùng nó cho mọi nội dung do người dùng nhập. Gửi dữ liệu đầu vào thô của người dùng qua -d thông thường có thể khiến các trường bị cắt đột ngột tại dấu và đầu tiên.
Thử thách
KhóXác nhận tiêu đề mà curl chọn cho bạn.
- Khởi động trình nghe ghi lại dữ liệu trên cổng 9124
- Gửi POST
a=1bằng-d - In dòng Content-Type từ
req.txt
Đầu ra mong đợi:
Content-Type: application/x-www-form-urlencodedSo khớp không phân biệt chữ hoa chữ thường và neo vào đầu dòng.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Mạng máy tính với terminal
Tự luyện tập: Playground Terminal