Tôi cố gắng để tải về một tập tin với wget
và curl
và bị bác bỏ với một lỗi 403 (bị cấm).
Tôi có thể xem tệp bằng trình duyệt web trên cùng một máy.
Tôi thử lại với tác nhân người dùng của trình duyệt, được lấy bởi http://www.whatsmyuseragent.com . Tôi làm việc này:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
và
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
nhưng nó vẫn bị cấm. Những lý do nào khác có thể có cho 403, và những cách nào tôi có thể thay đổi wget
và curl
các lệnh để khắc phục chúng?
(đây không phải là về việc có thể lấy tệp - Tôi biết tôi chỉ có thể lưu nó từ trình duyệt của mình; nó hiểu về lý do tại sao các công cụ dòng lệnh hoạt động khác nhau)
cập nhật
Cảm ơn tất cả các câu trả lời tuyệt vời cho câu hỏi này. Vấn đề cụ thể tôi gặp phải là máy chủ đang kiểm tra người giới thiệu. Bằng cách thêm phần này vào dòng lệnh tôi có thể lấy tệp bằng curl
và wget
.
Máy chủ đã kiểm tra người giới thiệu bị trả về thông qua 302 đến một vị trí khác hoàn toàn không thực hiện kiểm tra, do đó, một curl
hoặc wget
trang web đó hoạt động sạch sẽ.
Nếu có ai quan tâm, điều này đã về vì tôi đang đọc này trang để tìm hiểu về CSS nhúng và đang cố gắng nhìn vào css của trang web cho một ví dụ. URL thực tế tôi gặp rắc rối là cái này và curl
cuối cùng tôi đã là
curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
và wget là
wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
Rất thú vị.