ក្នុង PHP get_headers() ទទួលយក stream context ជាអាគុយម៉ង់ទីបីរបស់វា។ នៅលើ PHP 8 ការពិនិត្យក្បាលទំព័រសម្រាប់ URL HTTP អាចផ្ទុកការកំណត់ប្រុកស៊ីផ្ទាល់ខ្លួន:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://proxy.example.net:8080',
        'request_fulluri' => true,
        'method' => 'HEAD',
        'follow_location' => 0,
        'timeout' => 10,
    ],
]);

$headers = get_headers('http://example.net/file.zip', false, $context);
if ($headers === false) {
    throw new RuntimeException('Header request failed');
}

ប្រុកស៊ីគឺជាចំណុចបញ្ចប់ TCP សម្រាប់រុំស្ទ្រីម HTTP។ ជំនួសឈ្មោះម៉ាស៊ីន និងច្រកដែលជាតំណាងរបស់វាដោយបេក្ខជនដែលមិនបានផ្ទៀងផ្ទាត់ពី បញ្ជីប្រុកស៊ី HTTP សម្រាប់ការពិនិត្យ HTTP សាធារណៈនេះ។ request_fulluri ផ្ដល់ URI គោលដៅពេញលេញនៅក្នុងបន្ទាត់សំណើ HTTP ដូចដែលប្រុកស៊ីបញ្ជូនបន្តជាច្រើនរំពឹង។ context នេះជារបស់ការហៅនេះ; វាមិនផ្លាស់ប្ដូរ context លំនាំដើមដែលការអាន URL ផ្សេងទៀតប្រើទេ។

ទោះបីឈ្មោះមុខងារបែបនេះក៏ដោយ វិធីសាស្ត្រសំណើលំនាំដើមរបស់វាគឺ GET។ វិធីសាស្ត្រ HEAD ច្បាស់លាស់សុំមេតាដាតានៃការឆ្លើយតបពីម៉ាស៊ីនបម្រើដោយគ្មានតួឆ្លើយតបដែលត្រូវគ្នា។ ម៉ាស៊ីនបម្រើអាចបដិសេធ HEAD ឬដោះស្រាយវាខុសគ្នា ដូច្នេះការពិនិត្យក្បាលទំព័រជោគជ័យមិនមែនជាភស្តុតាងថាការទាញយកនៅពេលក្រោយនឹងជោគជ័យទេ។

នៅទីនេះ ការដើរតាមការបញ្ជូនបន្តត្រូវបានបិទដើម្បីពិនិត្យការឆ្លើយតបដំបូង។ ពេលនោះក្បាលទំព័រ Location និងស្ថានភាពបញ្ជូនបន្តគឺជាលទ្ធផលមានប្រយោជន៍ ជាជាងការណែនាំឱ្យទាញ URL ផ្សេង។ ប្រសិនបើការពិនិត្យគួរដើរតាមការបញ្ជូនបន្ត សូមផ្លាស់ប្ដូរគោលនយោបាយនោះដោយចេតនា ហើយគិតដល់ក្បាលទំព័រឆ្លើយតបបន្ថែម។

អាគុយម៉ង់ false រក្សាអារេក្បាលទំព័រដែលមានលិបិក្រម។ ប្រើ true នៅពេលការញែកជាប់ទំនាក់ទំនងមានប្រយោជន៍ជាង។

អត្ថបទពាក់ព័ន្ធ