Tác nhân người dùng
Bài học 44 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.
Mỗi yêu cầu cho biết chương trình nào gửi yêu cầu đó trong tiêu đề User-Agent. curl gửi tên và phiên bản của chính nó, còn trình duyệt gửi một chuỗi dài mang dấu ấn lịch sử.
Điều này quan trọng hơn vẻ bề ngoài. Máy chủ thường xuyên xử lý yêu cầu khác nhau tùy theo tiêu đề này: hiển thị giao diện dành cho thiết bị di động, chặn các ứng dụng khách lạ hoặc từ chối mọi thứ có vẻ như được tự động hóa. Vì vậy, câu “nó chạy được trong trình duyệt của mình nhưng không chạy được trong curl” thường là do chính tiêu đề này, chứ không có nguyên nhân sâu xa nào khác.
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A thiết lập giá trị này, và đây chỉ là cách viết tắt của -H 'User-Agent: ...'.
Nếu bạn gửi các yêu cầu tự động đến một dịch vụ, hãy đặt User-Agent trung thực, nêu tên công cụ của bạn. Đây là phép lịch sự: nếu lưu lượng truy cập của bạn gây ra vấn đề, người trực xử lý sự cố có thể biết đó là gì và cần hỏi ai.
Thử thách
KhóHãy giới thiệu bản thân một cách trung thực.
- Khởi động trình lắng nghe bắt gói trên cổng 9133
- Gửi yêu cầu với thông tin nhận dạng
my-monitor/1.0 - In dòng user agent từ
req.txt
Đầu ra dự kiến:
User-Agent: my-monitor/1.0Tự 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
6curl chuyên sâu
Xem các headerLưu phản hồiHeader tùy chỉnhTrạng thái và thời gianMã thoát của curlÔn tập: cờ curl9Xác thực và gỡ lỗi
Khóa API và BearerTác nhân người dùngThời gian chờ và thử lạiĐọc lỗiÔn tập: gỡ lỗiTự luyện tập: Playground Terminal