محاولة استخدام حليقة لتنزيل سلسلة من الملفات

StackOverflow https://stackoverflow.com/questions/1164098

  •  18-09-2019
  •  | 
  •  

سؤال

أحاول استخدام حليقة لتنزيل مزيج من الملفات بالتنسيق التالي:

http://example.com/001.jpg.

..

http://example.com/999.jpg.

لذلك استخدمت هذا الأمر:

وقت حليقة "http://example.com/ Budge0-9 اتفاق Biture0-9/10"-" # 1 # 2 # 3.Gif "

لكن بعض الملفات غير موجودة، وسيقوم الأمر بإنشاء الملفات في نهايتي ولكنه حقا سيحتوي فقط على صفحة الخطأ.

أحتاج إلى طريقة للحلاقة للتحقق مما إذا كان موجودا على الخادم البعيد قبل تنزيله.

أعرف أن WGET يمكن أن تفعل ذلك، ولكن WNT يبدو أنه يستغرق حوالي 5 مرات لفترة أطول لتشغيل. الأمر الذي اعتدت عليه أن أجربه في WGE هو:

الوقت wget. http://example.com/{0..9} {0..9} {0..9} .jpg

هل كانت مفيدة؟

المحلول

جرب -f / - فشل الخيار:

(HTTP) تفشل بصمت (لا إخراج على الإطلاق) على أخطاء الخادم. يتم ذلك في الغالب من أجل تمكين البرامج النصية بشكل أفضل وغيرها للتعامل بشكل أفضل مع المحاولات الفاشلة. في الحالات العادية عندما يفشل خادم HTTP في تسليم مستند، فإنه بإرجاع مستند HTML يفيد ذلك (والذي يصف في كثير من الأحيان عن السبب وأكثر). سيمنع هذا العلم حليقة من إخراج ذلك وإعادة الخطأ 22.

لا تفشل هذه الطريقة آمنة وهناك مناسبات حيث ستزول رموز الاستجابة غير الناجحة، خاصة عند مشاركة المصادقة (رموز الاستجابة 401 و 407).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top