HTTP 000 មានន័យអ្វី ពេលសាកល្បងប្រូកស៊ីដោយ curl?
000 មិនមែនជាស្ថានភាព HTTP ដែលគេហទំព័រផ្ញើមកទេ។ អានកូដចាកចេញ និងកំហុសរបស់ curl ជាមួយវាល HTTP ដែលបង្ហាញ។
ពេលការសាកល្បង curl បង្ហាញ 000 ជាស្ថានភាព HTTP វាមិនបានទទួលកូដឆ្លើយតប HTTP ចុងក្រោយសម្រាប់រាយការណ៍ទេ។ គេហទំព័រមិនបានផ្ញើស្ថានភាព HTTP ពិតប្រាកដឈ្មោះ 000 មកទេ។
កត់ត្រាកំហុសផងដែរ
ឧទាហរណ៍សម្រាប់សែល POSIX នេះបង្ហាញវាល HTTP ចុងក្រោយ វាល CONNECT និងកូដចាកចេញរបស់ដំណើរការ curl៖
curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect}\n' https://example.com/
result=$?
printf 'curl_exit=%s\n' "$result"
ប្តូរចំណុចតភ្ជាប់ក្នុងឧទាហរណ៍ទៅជាប្រូកស៊ី HTTP របស់អ្នក ឬជម្រើសមួយពីបញ្ជីប្រូកស៊ី HTTP។ ទុក show-error ឱ្យដំណើរការ ព្រោះសារកំហុសជាញឹកញាប់ជាផ្នែកមានប្រយោជន៍បំផុត។ វាល CONNECT ពាក់ព័ន្ធពេលប្រើផ្លូវរូង មិនមែនជាស្ថានភាពចុងក្រោយទីពីរពីគេហទំព័រទេ។
អានតម្លៃរួមគ្នា
- ការតភ្ជាប់ទៅប្រូកស៊ីបរាជ័យអាចទុកវាល HTTP នៅ 000។
- ការអស់ពេលរង់ចាំមុនទទួលការឆ្លើយតបក៏អាចឱ្យលទ្ធផលដូចគ្នា។
- ការឆ្លើយតប CONNECT ជោគជ័យដែលបន្តដោយបញ្ហា TLS អាចបង្ហាញ connect=200 និង http=000។
- ការឆ្លើយតបពេញលេញពីគេហទំព័រ ដូចជា 403 គឺខុសគ្នា៖ មានការឆ្លើយតប HTTP ពិតប្រាកដសម្រាប់ពិនិត្យ។
កូដចាកចេញជាក់លាក់ និងសារជួយបង្រួមមូលហេតុ។ ពិនិត្យថាបរាជ័យពេលស្វែងរកប្រូកស៊ី ភ្ជាប់ទៅច្រករបស់វា ចរចាផ្លូវរូង ឬផ្ទៀងផ្ទាត់គោលដៅ។
កុំចាត់ទុកគ្រប់លទ្ធផលជាការពិនិត្យស្ថានភាពតែប៉ុណ្ណោះ
ស្គ្រីបដែលរក្សាទុកតែ http_code នឹងបោះបង់កំហុសដឹកជញ្ជូនទិន្នន័យ។ រក្សាទុកលទ្ធផលដំណើរការ និងសារកំហុសដែលដកព័ត៌មានរសើបចេញផង។ ផ្ទុយទៅវិញ curl អាចបញ្ចប់ការផ្ទេរដោយជោគជ័យ ទោះគេហទំព័រឆ្លើយស្ថានភាពកំហុសក៏ដោយ បើអ្នកមិនប្រើជម្រើស fail សមស្រប។ ការឆ្លើយតប HTTP និងលទ្ធផលដំណើរការរបស់កម្មវិធីភ្ញៀវឆ្លើយសំណួរផ្សេងគ្នា។
កុំព្យាយាមជួសជុល 000 ដោយបិទការផ្ទៀងផ្ទាត់ TLS ឬបន្ថែមបឋមកថាតាមចិត្ត។ រកឱ្យឃើញជាមុនថាប្រតិបត្តិការណាមិនបានឈានដល់ការឆ្លើយតបចុងក្រោយ។