پروکسي یو ځل ناکامېږي. وروستي غوښتنې بریالۍ کېږي، خو څارونکی لا هم بله ناکامي اعلانوي. وګورئ چې سکریپټ د پرون د وتلو حالت یاد کړی که نه.

دا بڼه یوازې هغه وخت متغیر تازه کوي چې 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 پایله کې د پروکسي بیا پیل کول کېدای شي روغې ناستې خرابې کړي، په داسې حال کې چې ریښتینی د هدف ستونزه لاس نه ورته رسېدلې پاتې شي.

اړوندې مقالې