प्रोक्सी एक पटक असफल हुन्छ। पछका अनुरोधहरू सफल हुन्छन्, तैपनि निगरानीले अर्को असफलता घोषणा गरिरहन्छ। स्क्रिप्टले हिजोको निकास स्थिति सम्झेको छ कि छैन जाँच्नुहोस्।

यो ढाँचाले भेरिएबललाई 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 नतिजामा प्रोक्सी पुनः सुरु गर्दा स्वस्थ सत्रहरू बाधित हुन सक्छन्, जबकि वास्तविक गन्तव्य समस्या अछुतो रहन्छ।

सम्बन्धित लेखहरू