ప్రాక్సీ ఒకసారి విఫలమవుతుంది. తర్వాతి అభ్యర్థనలు విజయవంతమవుతాయి, అయినా పర్యవేక్షకుడు మరో వైఫల్యాన్ని ప్రకటిస్తూనే ఉంటాడు. స్క్రిప్ట్ నిన్నటి నిష్క్రమణ స్థితిని గుర్తుపెట్టుకుందా చూడండి.

ఈ నమూనా వేరియబుల్‌ను curl విఫలమైనప్పుడు మాత్రమే నవీకరిస్తుంది:

status=0
# Repeated inside a loop:
curl ... || status=$?

మొదటి శూన్యేతర ఫలితం తర్వాత, విజయవంతమైన పునరావృత్తి status ను తాకకుండా వదిలివేస్తుంది. curl విజయవంతమైంది కాబట్టి మాత్రమే అది శూన్యం కాదు.

బదులుగా ప్రస్తుత ఆదేశంపై శాఖ చేయండి:

if curl --proxy socks5h://127.0.0.1:1080 --noproxy '' \
    --fail --silent --show-error --connect-timeout 3 --max-time 10 \
    https://health.example/ >/dev/null; then
    echo "check succeeded"
else
    echo "check failed"
fi

చిరునామా మరియు సమయాలు ఉదాహరణలు. ఇది పాత వేరియబుల్‌ను తొలగిస్తుంది; ఏ రికవరీ చర్య సరైనదో నిర్ణయించదు.

పరిశీలనను సన్నగా ఉంచండి. అభ్యర్థన ప్రాక్సీ, తదుపరి మార్గం, గమ్యం, TLS పరిశీలన మరియు HTTP ఫలితంపై ఆధారపడి ఉంటుంది. SOCKS సేవ ఆరోగ్యంగా ఉన్నప్పటికీ లక్ష్యంలో అంతరాయం దానిని విఫలం చేయవచ్చు. ఊహించని HTTP 200 పేజీ కూడా ఆశించిన కంటెంట్ అందించకుండా కేవలం స్థితి-ఆధారిత తనిఖీని దాటవచ్చు.

నియంత్రిత ప్రతిస్పందన ఒప్పందాన్ని ఎంచుకోండి మరియు వైఫల్య దశను నిలుపుకోండి. ప్రతి శూన్యేతర curl ఫలితంపై ప్రాక్సీని పునఃప్రారంభించడం ఆరోగ్యకరమైన సెషన్‌లను భంగపరచవచ్చు, అసలు గమ్యం సమస్య మాత్రం తాకబడకుండా ఉంటుంది.

సంబంధిత వ్యాసాలు