PHP get_headers: saatke HTTP HEAD-päring läbi puhverserveri
Edastage voo kontekst otse funktsioonile get_headers, valige HEAD teadlikult ja otsustage, kas järgida ümbersuunamisi.
PHP-s võtab get_headers() kolmanda argumendina vastu voo konteksti. PHP 8-s võib HTTP-aadressi päiste kontroll kanda oma puhverserveri seadistust:
$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');
}Puhverserver on HTTP-voomähise TCP-lõpp-punkt. Asendage selle kohatäitega host ja port autentimata kandidaadiga HTTP puhverserverite loendist selle avaliku HTTP-kontrolli jaoks. request_fulluri edastab täieliku siht-URI HTTP-päringu reas, nagu paljud edasisuunavad puhverserverid eeldavad. See kontekst kuulub sellele kutsele; see ei muuda vaikekonteksti, mida kasutavad teised URL-i lugemised.
Vaatamata funktsiooni nimele on selle vaikepäringumeetod GET. Selgesõnaline HEAD-meetod küsib serverilt vastuse metaandmeid ilma vastava vastusekeha. Server võib HEAD-i tagasi lükata või seda teisiti käsitleda, seega edukas päiste kontroll ei tõesta, et hilisem allalaadimine õnnestub.
Siin on ümbersuunamiste järgimine välja lülitatud, et esimest vastust uurida. Location päis ja ümbersuunamise olek on siis kasulikud tulemused, mitte juhis teise URL-i toomiseks. Kui kontroll peaks ümbersuunamisi järgima, muutke seda poliitikat teadlikult ja arvestage täiendavate vastusepäistega.
Argument false säilitab indekseeritud päistemassiivi. Kasutage true, kui assotsiatiivne sõelumine on kasulikum.