什么是最快和最准确的方式来检查网站/ URL是否存在..卷曲或PHP?
问题描述:
什么是最准确和最快速的方式来检查URL是否存在?例如:Google.com。我一直在阅读,我可以使用curl,或者我可以使用php file_exists()来查找索引文件。我用这个卷曲功能...什么是最快和最准确的方式来检查网站/ URL是否存在..卷曲或PHP?
function url_exists($url) {
$ch = @curl_init($url);
@curl_setopt($ch, CURLOPT_HEADER, TRUE);
@curl_setopt($ch, CURLOPT_NOBODY, TRUE);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$status = array();
preg_match('/HTTP\/.* ([0-9]+) .*/', @curl_exec($ch) , $status);
return ($status[1] == 200);
}
例如google.com但它返回false为谷歌和真正的其他网站。我想我正在寻找这个问题的最佳解决方案。
答
如果您寻找,而不是状态代码只是一个连接,您可以只使用fopen
...
if (!fopen($url, "r")) {
// cannot connect
}
如果要检查HTTP代码,然后curl
可能是最好的办法。
返回结果不会变慢吗? – Joe 2012-03-08 15:33:16
@Joe如果你真的关心速度,自己测试它 – Gordon 2012-03-08 15:35:09
@戈登我没有意识到我可以做到这一点。谢谢 – Joe 2012-03-08 15:40:43