ولې د shell پروکسي ازموینه د curl له بریالیتوب وروسته هم ناکامه پاتې کېږي
له دې څخه ډډه وکړئ چې د وروستیو پروکسي ازموینو له بریالیتوب وروسته په shell متغیر کې زړه curl ناکامي وساتئ.
پروکسي یو ځل ناکامېږي. وروستي غوښتنې بریالۍ کېږي، خو څارونکی لا هم بله ناکامي اعلانوي. وګورئ چې سکریپټ د پرون د وتلو حالت یاد کړی که نه.
دا بڼه یوازې هغه وخت متغیر تازه کوي چې 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 پایله کې د پروکسي بیا پیل کول کېدای شي روغې ناستې خرابې کړي، په داسې حال کې چې ریښتینی د هدف ستونزه لاس نه ورته رسېدلې پاتې شي.