En PHP, get_headers() akceptas fluan kuntekston kiel trian argumenton. En PHP 8, kontrolaĵo de kaplinioj por HTTP-adreso povas porti sian propran prokurilan agordon:

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

La prokurilo estas TCP-fina punkto por la HTTP-fluafiŝo. Anstataŭigu ĝian anstataŭan gastiganton kaj pordon per neaŭtentikigita kandidato el la listo de HTTP-prokuriloj por ĉi tiu publika HTTP-kontrolo. request_fulluri liveras la plenan celan URI en la HTTP-peta linio, kiel multaj antaŭenaj prokuriloj atendas. Ĉi tiu kunteksto apartenas al ĉi tiu alvoko; ĝi ne ŝanĝas la defaŭltan kuntekston uzatan de aliaj URL-legadoj.

Malgraŭ la nomo de la funkcio, ĝia defaŭlta peta metodo estas GET. La eksplicita HEAD-metodo petas de la servilo respondajn metadatumojn sen la responda korpo. Servilo povas malakcepti HEAD aŭ trakti ĝin alimaniere, do sukcesa kaplinio-kontrolo ne pruvas, ke posta elŝuto sukcesos.

Ĉi tie, sekvado de alidirektadoj estas malŝaltita por inspekti la unuan respondon. Location-kaplinio kaj alidirekta stato tiam estas utilaj rezultoj anstataŭ instrukcio akiri alian URL. Se la kontrolo devas sekvi alidirektadojn, ŝanĝu tiun politikon konscie kaj konsideru la pliajn respondajn kapliniojn.

La argumento false konservas indeksitan kaplinian tabelon. Uzu true kiam asocia analizo estas pli utila.

Rilataj artikoloj