我有一个简单的代码,它对 URL 进行头请求,然后打印响应头。我注意到在某些网站上,这可能需要很长时间才能完成。
例如,请求http://www.arstechnica.com
大约需要两分钟。我使用另一个执行相同基本任务的网站尝试了相同的请求,它立即返回。所以一定有一些我设置不正确的东西导致了这个延迟。
这是我的代码:
$ch = curl_init();
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
// Only calling the head
curl_setopt($ch, CURLOPT_HEADER, true); // header will be at output
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'HEAD'); // HTTP request is 'HEAD'
$content = curl_exec ($ch);
curl_close ($ch);
以下是具有相同功能的网站的链接:http ://www.seoconsultants.com/tools/headers.asp
上面的代码,至少在我的服务器上,需要两分钟才能检索 www.arstechnica.com,但上面链接中的服务会立即返回它。
我错过了什么?