Sa PHP, tinatanggap ng get_headers() ang isang stream context bilang ikatlong argumento nito. Sa PHP 8, ang pagsusuri ng header para sa isang HTTP URL ay maaaring magdala ng sarili nitong configuration ng proxy:

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

Ang proxy ay isang TCP endpoint para sa HTTP stream wrapper. Palitan ang placeholder na host at port nito ng kandidatong walang authentication mula sa listahan ng HTTP proxy para sa pampublikong pagsusuri ng HTTP na ito. Ang request_fulluri ay nagbibigay ng buong destination URI sa linya ng kahilingang HTTP, gaya ng inaasahan ng maraming forward proxy. Ang context na ito ay para sa tawag na ito; hindi nito binabago ang default na context na ginagamit ng ibang pagbasa ng URL.

Sa kabila ng pangalan ng function, ang default na paraan ng kahilingan nito ay GET. Ang tahasang paraang HEAD ay humihingi sa server ng metadata ng tugon nang walang katumbas na katawan ng tugon. Maaaring tanggihan ng server ang HEAD o tratuhin ito nang iba, kaya ang matagumpay na pagsusuri ng header ay hindi patunay na magtatagumpay ang susunod na pag-download.

Dito, ang pagsunod sa mga redirect ay patay upang suriin ang unang tugon. Ang header na Location at status ng redirect ay kapaki-pakinabang na resulta sa halip na utos na kumuha ng ibang URL. Kung dapat sundin ng pagsusuri ang mga redirect, sadyang baguhin ang patakarang iyon at isaalang-alang ang karagdagang header ng tugon.

Ang argumentong false ay nagpapanatili ng naka-index na array ng header. Gamitin ang true kapag mas kapaki-pakinabang ang associative parsing.

Kaugnay na mga artikulo