مراجعة أخطاء curl: تنزيل صفحة خطأ لا يعني نجاح المهمة
مراجعة وثائقية للخيارين --fail و--fail-with-body وحالة الخروج التي يجب على برنامج التنزيل فحصها.
YNIX category visual, not a product photo.
آخر تحديث: 2026-09-30
المقارنة باختصار
--failالأفضل لـ: إبلاغ بفشل HTTP مع حجب المتن--fail-with-bodyالأفضل لـ: إبلاغ بفشل HTTP مع إبقاء التشخيص
يقول دليل curl إن رموز أخطاء HTTP لا تعد فشلاً للنقل افتراضياً. لذلك قد يستقبل برنامج نصي مستند خطأ ويعامل العملية كنجاح. تتناول المراجعة السلوك الموثق؛ لم يقس YNIX الموثوقية ولم يختبر واجهة API الخاصة بك.
في HTTP يعيد --fail رمز الخطأ 22 للاستجابات من 400 فما فوق ويحجب متن الاستجابة. يحذر الدليل من استثناءات، خصوصاً مع المصادقة والاستجابات 401 و407. ينبغي للتطبيق فحص الحالة والمحتوى المتوقعين أيضاً.
البديل --fail-with-body يحتفظ بمتن الخطأ ويبلغ عن فشل. لا يجتمع مع --fail وقد أضيف في curl 7.76.0. تحقق من النسخة المثبتة قبل تعديل الأتمتة. افصل استجابات التشخيص عن الملفات التي قد تستهلكها مهمة لاحقة بوصفها ناتجاً صالحاً.
الخلاصة: تفيد الضوابط حين يعالج البرنامج المستدعي الفشل فعلياً. عند تعدد عمليات النقل يرصد --fail-early أخطاء النقل المبكرة، لكنه لا يفعل فحص خطأ حالة HTTP وحده. اكتب إلى وجهة مؤقتة وافحص حالة الخروج والمحتوى ثم اعتمد النتيجة. وجود بيانات في الملف لا يثبت صحة التنزيل.
التوصية
الخلاصة: تفيد الضوابط حين يعالج البرنامج المستدعي الفشل فعلياً. عند تعدد عمليات النقل يرصد --fail-early أخطاء النقل المبكرة، لكنه لا يفعل فحص خطأ حالة HTTP وحده. اكتب إلى وجهة مؤقتة وافحص حالة الخروج والمحتوى ثم اعتمد النتيجة. وجود بيانات في الملف لا يثبت صحة التنزيل.
الخيار
معيار القرار
--fail
إبلاغ بفشل HTTP مع حجب المتن
--fail-with-body
إبلاغ بفشل HTTP مع إبقاء التشخيص
تنبيه قبل الشراء
تستخدم YNIX مصادر عامة وتواريخ تحديث واضحة وتوصيات عملية حسب حالة الاستخدام. قد تتغير الاسعار والتوفر؛ تحقق من المزود قبل الشراء.
افصاح
لا تستخدم YNIX حاليا مواضع مدفوعة او تتبعا مخفيا في هذه الادلة. اذا اضيفت روابط افلييت لاحقا فيجب وسمها بوضوح.