PHP get_headers: eng HTTP HEAD-Ufro iwwer e Proxy schécken
Gitt e Stream-Kontext direkt un get_headers, wielt HEAD bewosst a entscheet, ob Weiderleitunge solle verfollegt ginn.
An PHP akzeptéiert get_headers() e Stream-Kontext als säin drëtten Argument. Op PHP 8 kann eng Header-Prüfung fir eng HTTP-URL hir eege Proxy-Konfiguratioun droen:
$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');
}De Proxy ass en TCP-Endpunkt fir den HTTP-Stream-Wrapper. Ersetzt säi Platzhalter-Host a -Port duerch en net-authentifizéierte Kandidat aus der HTTP-Proxy-Lëscht fir dës ëffentlech HTTP-Prüfung. request_fulluri liwwert de kompletten Destinatiouns-URI an der HTTP-Ufrozeil, wéi vill Forward-Proxien et erwaarden. Dëse Kontext gehéiert zu dësem Opruff; hien ännert net de Standardkontext, deen aner URL-Liesungen benotzen.
Trotz dem Numm vun der Funktioun ass hir Standardufromethod GET. Déi explizit HEAD-Method freet de Server ëm Äntwert-Metadaten ouni de passenden Äntwertkierper. E Server kann HEAD refuséieren oder anescht behandelen, dofir ass eng erfollegräich Header-Prüfung kee Beweis, datt en spéideren Download geléngt.
Hei ass d'Verfollege vu Weiderleitungen ausgeschalt, fir déi éischt Äntwert ze inspectéieren. En Location-Header an e Weiderleitungsstatus sinn dann nëtzlech Resultater amplaz vun enger Uweisung, eng aner URL ze huelen. Wann d'Prüfung Weiderleitungen soll verfollegen, ännert dës Politik bewosst a rechent mat den zousätzlechen Äntwert-Header.
D'Argument false behält en indexéierten Header-Array. Benotzt true, wann associativ Parséieren nëtzlecher ass.