U PHP-u get_headers() prihvata stream kontekst kao treći argument. Na PHP 8 provjera zaglavlja za HTTP URL može nositi vlastitu konfiguraciju proxyja:

$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 je TCP krajnja tačka za HTTP stream wrapper. Zamijenite njegov rezervirani host i port neautentificiranim kandidatom iz liste HTTP proxyja za ovu javnu HTTP provjeru. request_fulluri dostavlja puni URI odredišta u liniji HTTP zahtjeva, kako očekuju mnogi prosljeđujući proxyji. Ovaj kontekst pripada ovom pozivu; ne mijenja zadani kontekst koji koriste druga čitanja URL-a.

Uprkos imenu funkcije, njen zadani metod zahtjeva je GET. Eksplicitni HEAD metod traži od servera metapodatke odgovora bez odgovarajućeg tijela odgovora. Server može odbiti HEAD ili ga obraditi drugačije, pa uspješna provjera zaglavlja nije dokaz da će kasnije preuzimanje uspjeti.

Ovdje je praćenje preusmjeravanja isključeno radi pregleda prvog odgovora. Zaglavlje Location i status preusmjeravanja tada su korisni rezultati, a ne uputa da se dohvati drugi URL. Ako provjera treba slijediti preusmjeravanja, svjesno promijenite tu politiku i uzmite u obzir dodatna zaglavlja odgovora.

Argument false zadržava indeksirani niz zaglavlja. Koristite true kada je asocijativno parsiranje korisnije.

Povezani članci