ក្បាល PHP cURL តាមប្រូកស៊ី៖ CONNECT និងការឆ្លើយតបគោលដៅ
រក្សាក្បាល CONNECT ការផ្ទៀងផ្ទាត់ ការប្តូរទិស និងការឆ្លើយតបចុងក្រោយឱ្យដាច់ដោយឡែក នៅពេលការផ្ទេរ PHP cURL ប្រើប្រូកស៊ី។
ប្រមូលបន្ទាត់ក្បាលដោយឡែកពីតួឆ្លើយតប។ ការផ្ទេរតាមប្រូកស៊ីអាចបញ្ជូនក្បាល CONNECT ការផ្ទៀងផ្ទាត់ ការប្តូរទិស និងការឆ្លើយតបគោលដៅក្នុងប្រតិបត្តិការតែមួយ៖
$headerLines = [];
curl_setopt($handle, CURLOPT_HEADERFUNCTION,
function ($handle, $line) use (&$headerLines) {
$headerLines[] = $line;
return strlen($line);
}
);
ការហៅត្រឡប់នេះរក្សាលំដាប់បន្ទាត់ដើម ហើយត្រឡប់ចំនួនបៃដែលបានទទួលយក។ វាទទួលបន្ទាត់ពេញលេញ ប៉ុន្តែមិនទាន់ដាក់វាជាក្រុមជាការឆ្លើយតប ឬជ្រើសក្បាលនៃគេហទំព័រចុងក្រោយនៅឡើយ។
បកស្រាយលំដាប់ជាប្លុក
បន្ទាត់ស្ថានភាព HTTP ចាប់ផ្តើមប្លុកឆ្លើយតប ហើយបន្ទាត់ទទេបញ្ចប់ក្បាលរបស់វា។ រក្សាព្រំដែនទាំងនោះមុនពេលជ្រើសការឆ្លើយតបគោលដៅចុងក្រោយ។ ការព្យាយាមផ្ទៀងផ្ទាត់កម្រិតកណ្តាល និងការប្តូរទិសអាចបន្ថែមប្លុកនីមួយៗ។
Trailer អាចមកដល់ពេលក្រោយតាមរយៈការហៅត្រឡប់។ រក្សាស្ថានភាពឧបករណ៍ញែកឱ្យគ្រប់គ្រាន់ ដើម្បីបែងចែកវាពីក្បាលដំបូង ជាជាងភ្ជាប់វាលបន្ទាប់នីមួយៗទៅនឹងការឆ្លើយតបដំបូង។
រក្សា ឬបង្ក្រាបភស្តុតាងរូងក្រោមដី
អាន CURLINFO_HTTP_CONNECTCODE ដោយឡែកសម្រាប់ស្ថានភាព CONNECT នៃរូង HTTPS។ រូងដែលបានទទួលយកមិនបញ្ជាក់ការឆ្លើយតបជោគជ័យរបស់គេហទំព័រទេ។
ប្រសិនបើអ្នកប្រមូលមិនត្រូវការក្បាល CONNECT នោះ CURLOPT_SUPPRESS_CONNECT_HEADERS គ្រប់គ្រងការបញ្ជូនរបស់វាទៅលទ្ធផលក្បាលដែលបានកំណត់ និងផ្លូវហៅត្រឡប់។ ពិនិត្យការគាំទ្រនៅក្នុង libcurl និងការសាងសង់ PHP ដែលបានភ្ជាប់។ ការបង្ក្រាបធ្វើឱ្យការប្រមូលសាមញ្ញ ប៉ុន្តែដកភស្តុតាងរូងកម្រិតក្បាលដែលអាចជួយក្នុងការធ្វើរោគវិនិច្ឆ័យ។
កុំទាញយកតួឡើងវិញដោយប្រើអុហ្វសិតថេរ ឬដោយស្វែងរកស្លាក HTML។ ទំហំក្បាលប្រែប្រួល ការឆ្លើយតបកណ្តាលខុសគ្នា ហើយតួអាចជាទ្វេភាគី ឬទទេ។ របាយការណ៍កំហុសចាស់ជាក់លាក់នឹងការចេញផ្សាយ មិនបង្ហាញភាពត្រឹមត្រូវនៃអុហ្វសិតដែលបានទាយនោះទេ។
រក្សាការគ្រប់គ្រងតួដោយឡែក ហើយរក្សាកំហុសផ្ទេរជាមួយដំណាក់កាលឆ្លើយតបដែលបានសង្កេត ប្រសិនបើការប្រមូល ឬការញែកបរាជ័យ។ វាបែងចែកការហៅត្រឡប់ដែលកាត់ផ្តាច់ ទិន្នន័យកម្មវិធីខូច និងការផ្លាស់ប្តូរប្រូកស៊ីដែលត្រូវបានបដិសេធ។