Tôi đang cố gắng tạo một chương trình có thể chuyển đổi một loạt các bản quét manga thành một tệp pdf và tôi không muốn phải cố gắng tải xuống hình ảnh để xác định xem tôi có đúng url hay không. Có một lệnh shell scripting mà tôi có thể sử dụng để chỉ kiểm tra xem một trang web có tồn tại không?Làm cách nào để xác định liệu một trang web có tồn tại với shell scripting hay không?
Trả lời
Theo một * NIX, bạn có thể sử dụng curl
phát hành một HEAD
yêu cầu đơn giản (HEAD
chỉ yêu cầu các tiêu đề, không phải là cơ thể trang):
curl --head http://myurl/
Sau đó, bạn có thể chỉ mất dòng đầu tiên, mà chứa các mã trạng thái HTTP (200 OK, 404 Not Found, vv):
curl -s --head http://myurl/ | head -n 1
Và sau đó kiểm tra xem bạn có một phản ứng phong nha (mã trạng thái là 200 hoặc 3 **):
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."
Điều này sẽ xuất dòng đầu tiên nếu mã trạng thái được chấp nhận hoặc không có gì nếu không. Bạn cũng có thể đường ống mà đến/dev/null để có được không có đầu ra, và sử dụng $?
để xác định xem nó có tác dụng hay không:
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1
EDIT-s
chỉ đơn giản nói với curl
để không hiển thị một "thanh tiến trình".
Để làm điều này với phân tích chuỗi ít hơn và để kiểm tra chuyển hướng đến các trang không tồn tại, hãy sử dụng 'curl --silent --head --location --output/dev/null - ghi đè'% {http_code} 'này http://en.wikipedia.org/wiki/tla | grep '^ 2'' – bukzor
Sử dụng --fail: http://stackoverflow.com/a/12199125/376366 –
Kịch bản để tự động xác thực cho một số tệp: https://gist.github.com/igilham/12eb33ab8a86f1e815d2 – IanGilham
wget hoặc cURL sẽ thực hiện công việc. Xem tại đây wget hoặc cURL để biết chi tiết và tải xuống các địa điểm. Cung cấp URL cho các công cụ dòng lệnh này và kiểm tra phản hồi.
Pfff ... tại sao các downvotes (không có lời giải thích, tâm trí bạn) nếu câu trả lời là chính xác, ngắn gọn và thông tin? –
Tôi đã không bỏ phiếu, nhưng nếu tôi phải đoán, đó là vì câu trả lời chỉ có URL là [chán nản] (https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- link-anywhere-really-good-answers). – zneak
Cảm ơn. TBH, câu hỏi là "Có một lệnh shell scripting mà tôi có thể sử dụng để chỉ kiểm tra xem một trang web có tồn tại không?" và câu trả lời của tôi là "wget hoặc cURL sẽ thực hiện công việc", cộng với các liên kết đến mỗi lệnh và giải thích rằng đáp ứng của các lệnh invocations đó có thể được kiểm tra. Đó không phải là một câu trả lời chỉ URL, bởi bất kỳ biện pháp, và nó đã được thông tin như câu trả lời khác (sửa đổi) đã được ra tại thời điểm đó: https://stackoverflow.com/revisions/2924444/1. Than ôi, rõ ràng là một ngày nghiệp xấu :-) –
Sử dụng cURL để lấy mã trạng thái và kiểm tra các giá trị bắt buộc.
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
Đầu tiên chắc chắn không có uỷ quyền issue.If bất kỳ yêu cầu ủy quyền, bạn cung cấp tên người dùng và mật khẩu .Create một file shell script (checkURL.sh) và dán đoạn mã dưới đây.
Hy vọng điều này sẽ giúp bạn.
checkURL.sh
yourURL="http://abc-repo.mycorp.com/data/yourdir"
if curl --output /dev/null --silent --head --fail "$yourURL"
then
echo "This URL Exist"
else
echo "This URL Not Exist"
fi
của nó làm việc cho tôi trong Nexus và Repository khác.
Bạn luôn có thể sử dụng wget
; Tôi làm như mã đơn giản hơn.
if [[ $(wget http://url/ -O-) ]] 2>/dev/null
then echo "This page exists."
else echo "This page does not exist."
fi
Sử dụng tùy chọn -O-
với wget
có nghĩa là nó sẽ cố gắng để sản xuất các nội dung của trang, nhưng chỉ nếu nó tồn tại. Vì vậy, nếu không có bất kỳ đầu ra, sau đó trang không tồn tại. 2>/dev/null
chỉ để gửi đầu ra (nếu có) vào thùng rác.
Tôi biết đã quá hạn, nhưng tôi hy vọng điều này sẽ hữu ích.
- 1. Cách xác định xem GraphicsEnvironment có tồn tại hay không
- 2. Làm cách nào để xác định liệu thư mục phụ có tồn tại trong C# không?
- 3. Làm cách nào để kiểm tra xem các trang tính nhất định có tồn tại hay không trong Excel-VBA?
- 4. Javascript: cách kiểm tra xem văn bản có tồn tại trong trang web hay không
- 5. Làm cách nào để xác định liệu vai trò cơ sở dữ liệu có tồn tại trong SQL Server không?
- 6. Làm cách nào để kiểm tra xem một trường có tồn tại hay không trong MongoDB?
- 7. Làm cách nào để kiểm tra xem chuỗi có tồn tại hay không trong Oracle 11g?
- 8. Làm cách nào để xác định xem trang ASP.NET có rò rỉ bộ nhớ hay không
- 9. Làm cách nào để kiểm tra xem tài nguyên được nhúng có tồn tại hay không?
- 10. Làm cách nào để xác định xem có tồn tại lối tắt màn hình chính không?
- 11. Shell Scripting: Sử dụng một biến để xác định đường dẫn
- 12. Làm thế nào để xác định liệu một ma trận có trống hay không trong MATLAB?
- 13. Làm cách nào để kiểm tra xem hàng có tồn tại hay không?
- 14. Làm cách nào để xác định liệu một băm git đã có tồn tại trên một nhánh cụ thể?
- 15. Không thể xác định xem hàng đợi có tên định dạng được chỉ định có tồn tại hay không
- 16. Cách nhanh chóng để xác định xem một PID có tồn tại trên (Windows) không?
- 17. Shell scripting SQLite
- 18. Làm cách nào để xác định xem có thử trả lại lỗi hay không?
- 19. Làm cách nào để xác định liệu một phần tử DOM cụ thể có hiển thị hay không?
- 20. MongoDb shell scripting
- 21. Làm cách nào để kiểm tra xem lệnh có tồn tại trong tập lệnh shell không?
- 22. Làm cách nào để biết liệu một RenderSection không bắt buộc có tồn tại?
- 23. Làm thế nào để kiểm tra xem một id email có tồn tại hay không?
- 24. Shell Scripting: Sử dụng bash với xargs
- 25. Làm cách nào để kiểm tra xem một nút XML nhất định có tồn tại không?
- 26. Làm cách nào để kiểm tra xem phiên có tồn tại hay không?
- 27. Làm thế nào để xác định nếu một Lucene.Net Index tồn tại trong một thư mục?
- 28. Để tìm xem một cột tồn tại trong khung dữ liệu hay không
- 29. Shell Scripting Nếu [-f ./file]
- 30. Clojure: xác định xem hàm có tồn tại
Vỏ nào? UNIX shell? Dấu nhắc lệnh Windows? Windows Powershell? – zneak
UNIX, tôi đoán, bởi vì nó có một thẻ unix. – thepiercingarrow