Menu
CoddyTech

Mã thoát của curl

Bài học 30 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.

Có hai khái niệm thất bại hoàn toàn khác nhau trong cùng một lệnh curl, và nhầm lẫn chúng sẽ gây ra lỗi thực sự.

Mã trạng thái là câu trả lời của máy chủ: 200, 404, 500. Mã thoát cho biết liệu curl có thể giao tiếp được hay không.

Mã 404 cho biết cuộc giao tiếp đã thành công. Máy chủ đã được kết nối, hiểu yêu cầu và phản hồi. curl exits 0. Một tập lệnh chỉ kiểm tra mã thoát sẽ xem đó là bình thường, đây là nguyên nhân phổ biến khiến quy trình vẫn chạy thành công trong khi tải xuống một trang lỗi.

curl -s -o /dev/null http://127.0.0.1:9120/missing
echo $?     # 0, vì bản thân yêu cầu đã thành công

Nếu bạn muốn lệnh thất bại khi trạng thái không tốt, hãy yêu cầu bằng --fail. Tùy chọn này khiến curl thoát với mã khác 0 khi gặp mã trạng thái 4xx và 5xx. Nếu không, hãy tự kiểm tra %{http_code}.

challenge icon

Thử thách

Khó

Cho thấy 404 vẫn là một yêu cầu thành công.

  1. Phục vụ một thư mục trên cổng 9120
  2. Yêu cầu một trang không tồn tại và in ra status= cùng mã trạng thái
  3. In ra exit= cùng mã thoát của curl ở dòng tiếp theo

Đầu ra dự kiến:

status=404
exit=0

Đọc $? ngay sau lệnh curl đã tạo ra giá trị đó.

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