2009-03-16 34 views
8

Tôi đã cố gắng tìm ra cách để làm cho wget chỉ tạo tệp nếu phản hồi tải xuống thực tế hợp lệ, nghĩa là không có mã trạng thái 404 hoặc 500, chỉ 200.Chỉ tạo tệp nếu trạng thái http 200 với wget?

Tuy nhiên, khi sử dụng tùy chọn -O (để chỉ định tên tệp), nó sẽ luôn tạo tệp, với nội dung của trang lỗi và tôi không tìm thấy cách nào để chỉ định rằng nó sẽ bỏ qua nó nếu nó nhận được tiêu đề phản hồi 404.

Tôi có cần kiểm tra mã thoát và ống đầu ra hoặc có phương án thay thế tốt hơn không?

Trả lời

13

Có lẽ đây là câu trả lời duy nhất, trừ vá wget (một lựa chọn hợp lệ):

wget -O somefile.html http://example.com/ || rm somefile.html 
+0

đủ tốt, làm việc cho tôi. Cảm ơn nhiều! – jishi

+1

Giải pháp tốt. Tôi có thể có một số thứ cần thêm: Tôi có vấn đề nếu tệp đầu ra tồn tại - wget không thể tải xuống vì tệp đã tồn tại và trả về lỗi, chạy 'rm' và xóa tệp. Chạy dòng thay thế giữa tải xuống và xóa tệp. – Jervelund

Các vấn đề liên quan