Heim  >  Artikel  >  Backend-Entwicklung  >  用php开发一个检测某网站是否在一般运行的小模块

用php开发一个检测某网站是否在一般运行的小模块

WBOY
WBOYOriginal
2016-06-13 11:57:08776Durchsuche

用php开发一个检测某网站是否在正常运行的小模块
                    我的想法是构造一个http请求,看它返回的状态码。如果是200的话,证明这个网站是能正常访问的。

            使用了一个叫curl 的函数,能够获取状态码,
          但是发现了一个问题。当我只运行一次的时候能返回200代码,但是连续检测多个网站,就只返回0,如果网站不通,能返回404.
          可是正常网站还是返回0,有谁用过这个函数,能说说吗?
      

------解决方案--------------------
用get_headers函数也是可以的,如下DEMO

<br />header('Content-Type:text/html;Charset=UTF-8');<br />$result = @get_headers('http://www.qqhaowan.com');<br />if ($result) {<br />    print_r($result);<br />    if (strpos($result[0], '200')) {<br />        echo '网站能访问!';<br />    } else {<br />        echo '网站不能访问!';<br />    }<br />} else {<br />    echo '目标URL无法打开!';<br />}<br />

------解决方案--------------------

引用:
                    我的想法是构造一个http请求,看它返回的状态码。如果是200的话,证明这个网站是能正常访问的。

            使用了一个叫curl 的函数,能够获取状态码,
          但是发现了一个问题。当我只运行一次的时候能返回200代码,但是连续检测多个网站,就只返回0,如果网站不通,能返回404.
          可是正常网站还是返回0,有谁用过这个函数,能说说吗?
      


测试过,可以循环检测。
<br /><?php<br /><br />$sites = array('http://www.baidu.com','http://www.21cn.com','http://www.sina.com.cn','http://www.csdn.net');<br /><br />foreach($sites as $site){<br />    echo $site.':'.checksite($site).'<br>';<br />}<br /><br />function checksite($url){<br />    $result = @get_headers($url);<br /><br />    if($result){<br />        if(strstr($result[0], '200')!=''){<br />            return true;<br />        }    <br />    }<br />    return false;<br />}<br /><br />?><br />
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn