У PHP-у get_headers() прихвата контекст тока као трећи аргумент. На PHP 8 провера заглавља за HTTP URL може носити сопствену конфигурацију проксија:

$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 stream wrapper. Замените његов резервисани хост и порт неаутентификованим кандидатом са листе HTTP проксија за ову јавну HTTP проверу. request_fulluri доставља пуни URI одредишта у линији HTTP захтева, како очекују многи проксији који прослеђују. Овај контекст припада овом позиву; не мења подразумевани контекст који користе друга читања URL-а.

Упркос имену функције, њен подразумевани метод захтева је GET. Експлицитни HEAD метод тражи од сервера метаподатке одговора без одговарајућег тела одговора. Сервер може одбити HEAD или га обрадити другачије, па успешна провера заглавља није доказ да ће касније преузимање успети.

Овде је праћење преусмеравања искључено ради прегледа првог одговора. Заглавље Location и статус преусмеравања тада су корисни резултати, а не упутство за добављање другог URL-а. Ако провера треба да прати преусмеравања, свесно промените ту политику и узмите у обзир додатна заглавља одговора.

Аргумент false задржава индексирани низ заглавља. Користите true када је асоцијативно парсирање корисније.

Повезани чланци