សាកល្បងប្រូកស៊ី HTTP ដោយ curl
ប្រើការសាកល្បង curl ដែលកំណត់ពេលវេលា ដើម្បីពិនិត្យការតភ្ជាប់ប្រូកស៊ី ផ្លូវរូង HTTPS ស្ថានភាពឆ្លើយតប និងច្បាប់រំលង ដោយមិនប្តូរប្រូកស៊ីសកលរបស់ឧបករណ៍។
ជំនួស 127.0.0.1:8080 ដោយចំណុចចុងពីសេវារបស់អ្នក ឬពីបញ្ជីប្រូកស៊ី HTTP ហើយដំណើរការវាទៅគោលដៅ HTTPS ដែលមិនបង្កគ្រោះថ្នាក់៖
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/អាសយដ្ឋាន loopback មានន័យថាកម្មវិធីស្តាប់នៅលើកុំព្យូទ័ររបស់អ្នកផ្ទាល់។ ពាក្យបញ្ជានេះជ្រើសវាយ៉ាងច្បាស់ សម្អាតបញ្ជីរំលងរបស់ curl សម្រាប់ការហៅនេះ និងអនុញ្ញាតប្រាំវិនាទីសម្រាប់បង្កើតការតភ្ជាប់ និងដប់ប្រាំវិនាទីសរុប។ វាមិនប្តូរការកំណត់ប្រូកស៊ីរបស់កម្មវិធីរុករក ឬប្រព័ន្ធទេ។
ប្រើឯកសារប្រតិបត្តិ curl ពិតប្រាកដ ប្រសិនបើ shell កំណត់ curl ជាឈ្មោះជំនួសកម្មវិធីផ្សេង។ curl --version កំណត់អត្តសញ្ញាណ build។ ប្រសិនបើកម្មវិធីស្តាប់ផ្ទាល់ត្រូវការ TLS ប្រើគ្រោងការណ៍ URL ប្រូកស៊ីដែលបានចែងក្នុងឯកសាររបស់វា។
អានលទ្ធផលបួន មិនមែនសញ្ញាជោគជ័យតែមួយទេ
- បានតភ្ជាប់ទៅប្រូកស៊ីដែលជ្រើស៖ អាសយដ្ឋាន និងច្រកអាចទៅដល់បាន។
- CONNECT ត្រូវបានទទួលយក៖ ប្រូកស៊ីបានបើកផ្លូវរូងទៅគោលដៅ HTTPS។
- វិញ្ញាបនបត្រគោលដៅត្រូវបានផ្ទៀងផ្ទាត់៖ TLS បានបញ្ចប់ជាមួយការត្រួតពិនិត្យទុកចិត្តដែលរំពឹងទុក។
- បានទទួលការឆ្លើយតបពីគោលដៅ៖ ពិនិត្យស្ថានភាព និងមាតិការបស់វា តាមលទ្ធផលដែលកម្មវិធីរបស់អ្នកត្រូវការ។
ក្រោយផ្លូវរូងដំណើរការបាន គោលដៅនៅតែអាចឆ្លើយ 403 ឬ 429។ curl ក៏អាចបញ្ចប់ដោយជោគជ័យក្រោយទទួលការឆ្លើយតបកំហុស HTTP ដែរ ដូច្នេះកត់ត្រាទាំងស្ថានភាពឆ្លើយតប និងលទ្ធផលកំហុសរបស់ curl។ ការតភ្ជាប់ TCP ឬ CONNECT ជោគជ័យតែមួយមុខមិនគ្រប់គ្រាន់ទេ។
លទ្ធផលខ្លីសម្រាប់ការប្រៀបធៀបម្តងហើយម្តងទៀត
ក្នុង shell បែប Unix ចោលតួមាតិកាឆ្លើយតប ហើយបោះពុម្ពស្ថានភាពផ្លូវរូង ស្ថានភាពគោលដៅ ភាគីម្ខាងទៀតនៃការតភ្ជាប់ និងពេលវេលាដែលបានប្រើ៖
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect} peer=%{remote_ip} total=%{time_total}\n' https://example.com/http_connect ពិពណ៌នាការឆ្លើយតបផ្លូវរូង ហើយ http_code ពិពណ៌នាការឆ្លើយតប HTTP ចុងក្រោយ។ remote_ip គឺភាគីម្ខាងទៀតនៃការតភ្ជាប់ curl មិនមែនការវាស់ឯករាជ្យនៃអាសយដ្ឋានចេញរបស់ប្រូកស៊ី ទេ។ លើប្រព័ន្ធផ្សេង ជំនួស /dev/null ឬរក្សាតួមាតិកាឆ្លើយតប។
ប្រសិនបើតេស្តបរាជ័យ រកជំហានបង្កើតការតភ្ជាប់ ឬផ្ទេរដែលបានបរាជ័យ ហើយប្រៀបធៀបគោលដៅដូចគ្នាដោយផ្ទាល់ នៅទីដែលផ្លូវនោះត្រូវបានអនុញ្ញាត៖
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' រំលងប្រូកស៊ី។ ការផ្ទៀងផ្ទាត់វិញ្ញាបនបត្របរាជ័យលើផ្លូវទាំងពីរបង្ហាញទៅរកបញ្ហាទុកចិត្តរួម ខណៈការតភ្ជាប់ផ្ទាល់ជោគជ័យជាមួយ CONNECT ត្រូវបានបដិសេធបង្ហាញទៅរកការផ្ទៀងផ្ទាត់អត្តសញ្ញាណ ឬគោលការណ៍ប្រូកស៊ី។ ពិនិត្យលទ្ធផលលម្អិតមុនចែករំលែក ព្រោះអាចមានព័ត៌មានកំណត់អត្តសញ្ញាណ។
រក្សាចំណុចចុង គោលដៅ និងត្រាពេលវេលាជាមួយលទ្ធផល។ នេះបញ្ជាក់ថាអ្វីបានដំណើរការសម្រាប់សំណើនោះ។ ភាពអាចប្រើបាននាពេលអនាគត ឯកជនភាព និងដំណើរការក្រោមបន្ទុក ត្រូវការភស្តុតាងដាច់ដោយឡែក។