仅通过 curl 在 php 中检索标头
实际上我有两个问题。
(1)如果我只检索标头,而不是使用php和curl进行整页检索,那么远程服务器上使用的处理能力或带宽是否会降低?
(2)由于我认为,我可能是错的,第一个问题的答案是肯定的,我试图获取上次修改日期或If-Modified-因为远程文件的标头只是为了将其与本地存储数据的时间日期进行比较,因此我可以在更改的情况下将其存储在本地。但是,我的脚本似乎无法获取该信息,当我运行此命令时,我得到:NULL
class last_change {
public last_change;
function set_last_change() {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://url/file.xml");
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_FILETIME, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
// $header = curl_exec($curl);
$this -> last_change = curl_getinfo($header);
curl_close($curl);
}
function get_last_change() {
return $this -> last_change['datetime']; // I have tested with Last-Modified & If-Modified-Since to no avail
}
}
在未编码的情况下,即使我没有请求它,也会显示标头数据,如下所示:$header = curl_exec($curl)
HTTP/1.1 200 OK
Date: Fri, 04 Sep 2009 12:15:51 GMT
Server: Apache/2.2.8 (Linux/SUSE)
Last-Modified: Thu, 03 Sep 2009 12:46:54 GMT
ETag: "198054-118c-472abc735ab80"
Accept-Ranges: bytes
Content-Length: 4492
Content-Type: text/xml
基于此,将返回“上次修改时间”。
那么,我做错了什么呢?