مرفوض أم انتهت المهلة؟
الدرس 18 من 47 في دورة التعامل مع الشبكات عبر الطرفية على Coddy.
عندما يفشل اتصال، فإنه يفشل بإحدى طرق محددة قليلة، وكل طريقة منها تشير إلى مكان مختلف. يبلّغ curl عن الطريقة من خلال رمز الخروج، وهو الرقم الذي يتركه الأمر، ويمكن قراءته كـ $?.
curl -s http://127.0.0.1:9999/
echo $?ثلاثة رموز تستحق الحفظ:
- 0: نجاح
- 7: تم رفض الاتصال؛ أجاب الجهاز وقال إنه لا يوجد شيء يستمع هناك
- 28: انتهت المهلة؛ لم يُجب أي شيء على الإطلاق
الرمز 7 سريع والرمز 28 بطيء، وهذا الفرق هو التشخيص. الرفض يعني أنك وصلت إلى الجهاز وتلقيت إجابة بالنفي مباشرة، لذا فالعنوان صحيح والخدمة لا تعمل. أما انتهاء المهلة فيعني أن طلبك اختفى، وهو ما يعني عادةً أن جدارًا ناريًا أسقطه أو أن العنوان غير صحيح.
التحدي
صعباجعل كلا الفشلين يحدثان واقرأ الرموز.
- اطلب صفحة من
http://127.0.0.1:9999/، حيث لا يوجد شيء يستمع هناك، واطبعrefused=متبوعًا برمز الخروج - افعل الشيء نفسه مع
http://10.255.255.1/، وهو عنوان يبتلع حركة المرور، مع--max-time 2، واطبعtimeout=ورمز الخروج الخاص به
الناتج المتوقع:
refused=7
timeout=28يحتوي
$?على رمز الخروج للأمر الذي نُفِّذ للتو، لذا اقرأه فورًا.
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعامل مع الشبكات عبر الطرفية
4هل يمكن الوصول إليه؟
ICMP و pingقراءة مخرجات pingعندما يكذب pingمرفوض أم انتهت المهلة؟مراجعة: قابلية الوصولتدرّب بنفسك: Playground لـ Terminal