我只想在它与我已经拥有的版本不同时才下载远程页面。没有“Last-Modified”或“Expires”(服务器发送Cache-Control: max-age=0, private, must-revalidate
)但是ETag:
字段。
因此,我可以发送If-None-Match:
标头包含最后一个ETag值,并在发生任何错误(包括304 Not Modified
)后重试。
目前我正在使用simplexml_load_file
来获取网址,我想知道我是否可以通过某种方式调用它来添加额外的标头,或者我是否需要推出更多重量级解决方案(curl,file_get_contents等) )?
答案 0 :(得分:2)
您可以使用cURL
添加自定义标头,然后使用simplexml_load_string
(包含来自cURL请求的返回内容)来获取SimpleXMLElement
对象。
curl_setopt($ch, CURLOPT_HTTPHEADER, array('If-None-Match:: XXX'));