使用404,403代码收集网站

时间:2015-01-14 13:40:59

标签: php http http-headers httpresponse

我有一个网站目录,我想排除那些提供404或403代码的人(分别无法向用户显示任何有趣的内容)。但是即使我可以通过浏览器看到正常的页面,使用php的file_get_contents或curl函数即使有请求标题也有时会产生404或403响应。我可以用什么来收集适当的代码(当然,该网站没有内容)?

1 个答案:

答案 0 :(得分:0)

尝试此功能

 <?php
    function Visit($url){
           $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
           curl_setopt ($ch, CURLOPT_URL,$url );
           curl_setopt($ch, CURLOPT_USERAGENT, $agent);
           curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
           curl_setopt ($ch,CURLOPT_VERBOSE,false);
           curl_setopt($ch, CURLOPT_TIMEOUT, 5);
           curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
           curl_setopt($ch,CURLOPT_SSLVERSION,3);
           curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
           $page=curl_exec($ch);
           //echo curl_error($ch);
           $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
           curl_close($ch);
           if($httpcode>=200 && $httpcode<308) return true;
           else return false;
    }
    if (Visit("http://www.google.com"))
           echo "Website OK"."n";
    else
           echo "Website DOWN";
    ?>

根据W3状态代码定义进行编辑