I PHP godtek get_headers() ein straumkontekst som det tredje argumentet. På PHP 8 kan ein header-sjekk for ein HTTP-URL ha sin eigen proxykonfigurasjon:

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

Proxyen er eit TCP-endepunkt for HTTP-strauminpakkinga. Byt ut plasshaldaren for vert og port med ein uautentisert kandidat frå HTTP-proxylista for denne offentlege HTTP-sjekken. request_fulluri leverer den fullstendige mål-URI-en i HTTP-førespurnadslinja, slik mange videresendande proxyar ventar. Denne konteksten høyrer til dette kallet; han endrar ikkje standardkonteksten som andre URL-lesingar brukar.

Trass i namnet på funksjonen er standardførespurnadsmetoden GET. Den eksplisitte HEAD-metoden ber tenaren om svar-metadata utan den tilhøyrande svarteksten. Ein tenar kan avvise HEAD eller handsame det annleis, så ein vellukka header-sjekk er ikkje prov på at ei seinare nedlasting lukkast.

Her er følging av omdirigeringar slått av for å inspisere den første responsen. Ein Location-header og ein omdirigeringsstatus er då nyttige resultat i staden for ein instruks om å hente ein annan URL. Viss sjekken skal følgje omdirigeringar, endre den policyen medvite og ta høgd for dei ekstra svarheaderane.

Argumentet false held på ein indeksert header-tabell. Bruk true når assosiativ parsing er nyttigare.

Relaterte artiklar