ហេតុអ្វីការត្រួតពិនិត្យ proxy ក្នុង shell នៅតែបរាជ័យ បន្ទាប់ពី curl ជោគជ័យ
ជៀសវាងការរក្សាការបរាជ័យ curl ចាស់ក្នុងអថេរ shell បន្ទាប់ពីការត្រួតពិនិត្យ proxy បន្ទាប់ៗជោគជ័យ។
proxy បរាជ័យម្តង។ សំណើបន្ទាប់ៗជោគជ័យ ប៉ុន្តែអ្នកត្រួតពិនិត្យនៅតែប្រកាសការបរាជ័យមួយទៀត។ ពិនិត្យមើលថាតើ script បានចងចាំស្ថានភាពចេញរបស់ម្សិលមិញឬអត់។
លំនាំនេះធ្វើបច្ចុប្បន្នភាពអថេរតែពេល 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
អាសយដ្ឋាន និងពេលវេលាគឺជាឧទាហរណ៍។ វាលុបអថេរចាស់ចេញ; វាមិនកំណត់ថាតើសកម្មភាពសង្គ្រោះណាសមស្របទេ។
រក្សាការសង្កេតឱ្យចង្អៀត។ សំណើអាស្រ័យលើ proxy ផ្លូវបន្ត គោលដៅ ការផ្ទៀងផ្ទាត់ TLS និងលទ្ធផល HTTP។ ការរអាក់រអួលនៅគោលដៅអាចធ្វើឱ្យវាបរាជ័យ ខណៈសេវា SOCKS នៅល្អ។ ទំព័រ HTTP 200 ដែលមិនបានរំពឹងទុកក៏អាចឆ្លងកាត់ការត្រួតពិនិត្យផ្អែកលើស្ថានភាពតែម្នាក់ឯង ដោយមិនផ្តល់ ខ្លឹមសារដែលរំពឹងទុក។
ជ្រើសរើសកិច្ចសន្យាឆ្លើយតបដែលគ្រប់គ្រង ហើយរក្សាដំណាក់កាលបរាជ័យ។ ការចាប់ផ្តើម proxy ឡើងវិញរាល់លទ្ធផល curl មិនសូន្យអាចរំខានដល់សម័យដែលល្អ ខណៈបញ្ហាគោលដៅពិតនៅតែមិនត្រូវបានដោះស្រាយ។