curl амжилттай болсны дараа shell прокси шалгалт яагаад бүтэлгүй хэвээр байна
Дараагийн прокси шалгалтууд амжилттай болсны дараа 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 үр дүн бүрт проксийг дахин эхлүүлэх нь эрүүл сессийг эвдэж болох бөгөөд бодит очих газрын асуудал хөндөгдөхгүй үлдэнэ.