PHP get_headers: send ein HTTP HEAD-førespurnad gjennom ein proxy
Send ein straumkontekst direkte til get_headers, vel HEAD medvite og avgjer om omdirigeringar skal følgjast.
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.