PHP da get_headers() uchinchi argument sifatida stream kontekstini qabul qiladi. PHP 8 da HTTP URL uchun sarlavhalarni tekshirish o'zining proxy konfiguratsiyasini olib yurishi mumkin:

$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');
}

Proxy HTTP stream wrapper uchun TCP oxirgi nuqtasidir. Ushbu ommaviy HTTP tekshiruvi uchun uning o'rin egallovchi hosti va portini HTTP proxy ro'yxatidan autentifikatsiyalanmagan nomzod bilan almashtiring. request_fulluri HTTP so'rov satrida to'liq manzil URI sini taqdim etadi, ko'plab uzatuvchi proxylar shuni kutadi. Bu kontekst shu chaqiruvga tegishli; u boshqa URL o'qishlari ishlatadigan standart kontekstni o'zgartirmaydi.

Funksiya nomiga qaramasdan, uning standart so'rov usuli GET. Aniq HEAD usuli serverdan tegishli javob tanasisiz javob metama'lumotlarini so'raydi. Server HEAD ni rad etishi yoki boshqacha ishlashi mumkin, shuning uchun muvaffaqiyatli sarlavha tekshiruvi keyingi yuklab olish muvaffaqiyatli bo'lishining isboti emas.

Bu yerda birinchi javobni ko'zdan kechirish uchun qayta yo'naltirishlarga amal qilish o'chirilgan. Shunda Location sarlavhasi va qayta yo'naltirish holati boshqa URL olib kelish ko'rsatmasi emas, balki foydali natijalar bo'ladi. Agar tekshiruv qayta yo'naltirishlarga amal qilishi kerak bo'lsa, bu siyosatni ataylab o'zgartiring va qo'shimcha javob sarlavhalarini hisobga oling.

false argumenti indekslangan sarlavhalar massivini saqlaydi. Assotsiativ tahlil foydaliroq bo'lganda true dan foydalaning.

O'xshash maqolalar