Tôi có thể sử dụng wget để kiểm tra, nhưng không tải xuống được không


Câu trả lời:


115

Có tham số dòng lệnh --spiderchính xác cho việc này. Trong chế độ này, wget không tải xuống các tệp và giá trị trả về của nó bằng 0 nếu tìm thấy tài nguyên và khác 0 nếu không tìm thấy. Hãy thử điều này (trong trình bao yêu thích của bạn):

wget -q --spider address
echo $?

Hoặc nếu bạn muốn đầu ra đầy đủ, hãy bỏ -qđi, chỉ vậy wget --spider address. -nvhiển thị một số đầu ra, nhưng không nhiều như mặc định.


29
Lưu ý rằng wget --spidergửi một yêu cầu HEAD, không phải GET.
hammar

3
@hammer, tôi không chắc bạn có thể đang sử dụng phiên bản nào, nhưng với 1.14, wget --spidercó HEAD và nếu thành công, theo sau là GET đến cùng một URL. Do đó, với tùy chọn đệ quy, nó rất hữu ích để xây dựng bộ đệm cho trang web phía máy chủ.
danorton

26

Nếu bạn muốn kiểm tra nhẹ nhàng qua $? mà không gặp rắc rối với đầu ra của wget, bạn có thể sử dụng:

wget -q "http://blah.meh.com/my/path" -O /dev/null

Hoạt động ngay cả trên các URL chỉ có một đường dẫn nhưng có nhược điểm là thứ gì đó đã thực sự được tải xuống, vì vậy điều này không được khuyến nghị khi kiểm tra sự tồn tại của các tệp lớn.


Các --spiderarg không thiết lập một mã trở lại. Nhưng có lẽ đó là vì sau 4 năm 3 tháng 7 ngày, con nhện đã thông minh hơn.
John Red

Hav đã không kiểm tra nó gần đây nhưng sẽ không làm tôi ngạc nhiên nếu họ đã sửa nó trong lúc đó.
3ronco

16

Bạn có thể sử dụng tùy chọn sau để kiểm tra các tệp:

wget --delete-after URL

13

Có, dễ dàng.

wget --spider www.bluespark.co.nz

Điều đó sẽ cung cấp cho bạn

Resolving www.bluespark.co.nz... 210.48.79.121
Connecting to www.bluespark.co.nz[210.48.79.121]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
200 OK

-3

Nếu bạn đang ở trong một thư mục mà chỉ người chủ mới có quyền truy cập để ghi vào hệ thống. Sau đó, bạn có thể trực tiếp sử dụng wget www.example.com/wget-testbằng tài khoản người dùng tiêu chuẩn. Vì vậy, nó sẽ truy cập vào url nhưng do không có quyền ghi tệp sẽ không được lưu .. Phương pháp này hoạt động tốt đối với tôi vì tôi đang sử dụng phương pháp này cho một cronjob. Cảm ơn.

sthx


1
Không nên được sử dụng ... Nguy hiểm vì quyền từ hệ thống quản trị có thể thay đổi và phá vỡ ý định của bạn và vô dụng khi có một built-in cờ như --spidermà thực hiện chính xác những gì các OP hỏi
Luke Savefrogs
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.