我试图通过curl请求为某个URL构建nginx缓存,但缓存从未构建。
public function crawlUrl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
}
是否有某些头我需要设置让这个工作?
检查您的缓存是否在您发出请求时启用(cookie, url从缓存中排除…)
在我的情况下,我正在从生产中解析xml站点地图并检查我的开发环境中的缓存…仔细检查你的目标地址,有了正确的url,它应该可以正常工作:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
应该不需要,但您可以尝试使用新的连接和新的cookie:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_HTTPGET, true);
curl_setopt($c, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($c, CURLOPT_COOKIESESSION, true);
curl_exec($c);
curl_close($c);