我有一个PHP cURL请求,它在我的域上获得了另一个页面。正在检索的页面包含.css
等链接文件。当我更新其中一个.css
文件并将其上传到域时,再次请求同一页面,它会返回相同版本的.css
文件,而不是我刚刚做的更新。然后我检查域上的链接文件,看它是否已经上传好(它是)和返回页面中链接文件的url(指向正确的文件)。
我甚至删除了所有临时浏览器文件以强制它查找链接文件的新版本,但它没有什么区别。
请求已成功完成,并且无错误。我认为它可能来自缓存或类似的东西。大约一小时后,再次请求页面时,将在返回的页面中返回.css
文件的正确版本。
我的cURL请求如下:
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $host . $requestURL);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl_handle, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($curl_handle, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl_handle, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl_handle, CURLOPT_DNS_USE_GLOBAL_CACHE, FALSE);
curl_setopt($curl_handle, CURLOPT_FORBID_REUSE, TRUE);
$content = curl_exec($curl_handle);
curl_close($curl_handle);
echo $content;
这让我很困惑,因为我似乎无法“强制”获取最新版本的链接文件。
任何想法都会很棒!
答案 0 :(得分:2)
问题是您正在获取css文件的缓存副本。我相信你可以使用一个标题来解决这个问题,但是如果你不想这样做,可以在你要求的URL中添加类似whatever.css?x=$random
的内容来强制重新启动文件。不是最好的方式,但它可能会有效。