POST với -d
Bài học 32 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.
Cho đến giờ, mọi yêu cầu đều yêu cầu một thứ gì đó. -d thay vào đó gửi đi một thứ:
curl -s -d 'name=ada' http://127.0.0.1:9122/signupHai việc xảy ra ngay khi bạn thêm tùy chọn này. curl tự chuyển phương thức từ GET sang POST mà không cần bạn yêu cầu, đồng thời đính kèm nội dung bạn cung cấp vào phần thân của yêu cầu.
Vì vậy, -d không chỉ có nghĩa là “thêm dữ liệu”, mà còn thay đổi loại yêu cầu. Nếu muốn gửi POST mà không có phần thân yêu cầu, bạn phải tự ghi -X POST.
GET đặt các tham số trong URL để mọi người đều có thể thấy và ghi lại, còn POST đặt chúng trong phần thân yêu cầu. Đó là lý do các biểu mẫu có mật khẩu dùng POST: không phải vì phần thân yêu cầu được mã hóa, thực tế không phải vậy, mà vì URL sẽ lưu trong lịch sử trình duyệt, nhật ký máy chủ và tiêu đề referrer.
Thử thách
Chuyên giaGửi POST đầu tiên của bạn và đọc lại nội dung máy chủ đã nhận.
- Khởi động trình nghe ghi nhận trên cổng 9122 (nó phản hồi 200 và ghi yêu cầu vào
req.txt) - Gửi POST
name=adađếnhttp://127.0.0.1:9122/signup - In dòng đầu tiên của
req.txt
Đầu ra dự kiến:
POST /signup HTTP/1.1Thêm
--max-time 3cho curl để lệnh không chờ mãi, đồng thời loại bỏ đầu ra của nó.
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