PHP-də get_headers() üçüncü arqument kimi stream kontekstini qəbul edir. PHP 8-də HTTP URL üçün başlıq yoxlaması öz proxy konfiqurasiyasını daşıya bilər:

$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 üçün TCP son nöqtəsidir. Bu ictimai HTTP yoxlaması üçün onun yer tutucu host və portunu HTTP proxy siyahısından autentifikasiyasız namizədlə əvəz edin. request_fulluri HTTP sorğu sətrində tam hədəf URI-ni təqdim edir, bir çox forvard proxy bunu gözləyir. Bu kontekst bu çağırışa aiddir; digər URL oxunuşlarının istifadə etdiyi standart konteksti dəyişmir.

Funksiyanın adına baxmayaraq, standart sorğu metodu GET-dir. Açıq HEAD metodu serverdən uyğun cavab gövdəsi olmadan cavab metadatası istəyir. Server HEAD-i rədd edə və ya fərqli idarə edə bilər, ona görə uğurlu başlıq yoxlaması sonrakı yükləmənin uğurlu olacağına sübut deyil.

Burada ilk cavabı yoxlamaq üçün yönləndirmələrin izlənməsi söndürülüb. Location başlığı və yönləndirmə statusu o zaman başqa URL gətirmək üçün təlimat deyil, faydalı nəticələrdir. Yoxlama yönləndirmələri izləməlidirsə, bu siyasəti qəsdən dəyişin və əlavə cavab başlıqlarını nəzərə alın.

false arqumenti indekslənmiş başlıq massivi saxlayır. Assosiativ təhlil daha faydalı olduqda true istifadə edin.

Əlaqəli məqalələr