Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit cURL nur Header in PHP abrufen?
Nur-Header-Abruf über cURL in PHP
Dieser Artikel befasst sich mit zwei Anfragen bezüglich der Verwendung von cURL in PHP zum Abrufen nur von Headern statt Ganzseitige Daten mit Schwerpunkt auf Verarbeitungseffizienz und spezifischen Implementierungsherausforderungen.
Verarbeitung Effizienz
Ja, es gibt eine Reduzierung sowohl der Verarbeitungsleistung als auch des Bandbreitenverbrauchs auf dem Remote-Server, wenn nur Header abgerufen werden, verglichen mit dem Abruf der gesamten Seite. Dies liegt daran, dass der Server den Aufwand für die Generierung und Analyse des HTML-Inhalts vermeiden kann, was zu einer geringeren Last führt.
Änderungsdatum der Datei abrufen
Zum Abrufen der zuletzt geänderten Datei Datum (Last-Modified-Header) oder den If-Modified-Since-Header einer Remote-Datei können die folgenden Schritte ausgeführt werden übernommen:
<?php class URIInfo { public $info; public $header; private $url; public function __construct($url) { $this->url = $url; $this->setData(); } public function setData() { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_FILETIME, true); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); $this->header = curl_exec($curl); $this->info = curl_getinfo($curl); curl_close($curl); } public function getFiletime() { return $this->info['filetime']; } } $filetime = (new URIInfo('http://www.example.com/file.xml'))->getFiletime(); if ($filetime != -1) { echo date('Y-m-d H:i:s', $filetime); } else { echo 'filetime not available'; } ?>
Dieser Ansatz verwendet eine Klasse, um die Funktionalität zum Abrufen von Header-Informationen und zum Extrahieren des zuletzt geänderten Headers zu kapseln.
Implementierungsherausforderungen
Der von Ihnen bereitgestellte Originalcode hat versucht, das Datum der letzten Änderung mithilfe von „curl_getinfo($header)“ abzurufen, was falsch ist. curl_getinfo() sollte mit dem cURL-Handle ($curl) verwendet werden, um Header-Informationen abzurufen. Darüber hinaus sollte die Verwendung von CURLOPT_FILETIME ausreichen, um das Datum der letzten Änderung abzurufen.
Zusammenfassend lässt sich sagen, dass der Nur-Header-Abruf mit cURL in PHP möglicherweise die Serverlast reduzieren kann und Ihnen gleichzeitig den Zugriff auf bestimmte Header-Informationen ermöglicht. Indem Sie die oben beschriebenen Richtlinien befolgen, können Sie diese Funktion effektiv in Ihrem Code implementieren.
Das obige ist der detaillierte Inhalt vonWie kann ich mit cURL nur Header in PHP abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!