Menu
CoddyTech

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/signup

Hai 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.

challenge icon

Thử thách

Chuyên gia

Gửi POST đầu tiên của bạn và đọc lại nội dung máy chủ đã nhận.

  1. 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)
  2. Gửi POST name=ada đến http://127.0.0.1:9122/signup
  3. In dòng đầu tiên của req.txt

Đầu ra dự kiến:

POST /signup HTTP/1.1

Thêm --max-time 3 cho curl để lệnh không chờ mãi, đồng thời loại bỏ đầu ra của nó.

Tự làm thử

Terminal
quiz iconTự kiểm tra

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