解决方案 »

  1.   

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,"http://bbs.csdn.net/topics/390781797");
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    $html = curl_exec($ch);
    curl_close($ch);
    list($header, $body) = explode("\r\n\r\n", $html, 2);
    var_dump(http_parse_headers($header));
    http_parse_headers() 需要另外下载,参考:
    http://stackoverflow.com/questions/6368574/how-to-get-the-functionality-of-http-parse-headers-without-pecl
      

  2.   


    $ch = curl_init();
    $list1=array('www.baidu.com','www.taobao.com','www.alipay.com','localhost/kk/','www.yy.net');
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    for($i=0;$i<count($list1);$i++)
    {
        curl_setopt($ch,CURLOPT_URL,$list1[$i]);
        curl_exec($ch);
    echo $list1[$i];
        $httplist=curl_getinfo($ch,CURLINFO_HTTP_CODE);
        var_dump($httplist);
    }

            curl_close($ch);
    这个怎么样,我想批量检测,可是好像很慢,几秒后才有反馈
      

  3.   

    用get_headers函数也是可以的,如下DEMOheader('Content-Type:text/html;Charset=UTF-8');
    $result = @get_headers('http://www.qqhaowan.com');
    if ($result) {
        print_r($result);
        if (strpos($result[0], '200')) {
            echo '网站能访问!';
        } else {
            echo '网站不能访问!';
        }
    } else {
        echo '目标URL无法打开!';
    }
      

  4.   


    好像一上for循环就不行了。。
      

  5.   


    测试过,可以循环检测。<?php$sites = array('http://www.baidu.com','http://www.21cn.com','http://www.sina.com.cn','http://www.csdn.net');foreach($sites as $site){
        echo $site.':'.checksite($site).'<br>';
    }function checksite($url){
        $result = @get_headers($url);    if($result){
            if(strstr($result[0], '200')!=''){
                return true;
            }    
        }
        return false;
    }?>
      

  6.   

    测试过,可以循环检测。<?php$sites = array('http://www.baidu.com','http://www.21cn.com','http://www.sina.com.cn','http://www.csdn.net');foreach($sites as $site){
        echo $site.':'.checksite($site).'<br>';
    }function checksite($url){
        $result = @get_headers($url);    if($result){
            if(strstr($result[0], '200')!=''){
                return true;
            }    
        }
        return false;
    }?>

    的确,可以了。难道是因为上面那个时间太短,没有得到回应?