只有当远程页面与我已有的版本不同时,我才想下载它。没有“Last-Modified”或“Expires”(服务器发送 Cache-Control: max-age=0, private, must-revalidate
)但是有 ETag:
字段。
所以,我可以发送 If-None-Match:
带有最后一个 ETag 值的 header 和任何错误(包括 304 Not Modified
)延迟后重试。
目前我正在使用 simplexml_load_file
获取 URL,我想知道我是否可以通过某种方式调用它来添加额外的 header ,或者我是否需要推出更多重量级解决方案(curl、file_get_contents 等)?
最佳答案
您可以使用 cURL
添加自定义 header ,然后使用 simplexml_load_string
(通过 cURL 请求的返回内容)获取 SimpleXMLElement
对象。
curl_setopt($ch, CURLOPT_HTTPHEADER, array('If-None-Match:: XXX'));
关于php - 我可以向 simplexml_load_file 添加自定义 header 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21929554/