php获取长途页面html状态码的要领

由于项目要求,需要操作php做一个获取长途页面html状态码的成果,用来判定长途页面是否可以会见,就雷同那种HTML页面状态码检测东西一样。整理了一下代码,贴出来。有需要的可以拿去用哦。

php获取长途页面的html状态码,有两种要领。一种是用了php的内置函数 get_headers(),一种是用了 curl 要领。

php获取html状态码的要领

要领一:

<?php $arr = get_headers(''); echo $arr[0]; echo '<br/>'; $arr1 = get_headers(''); echo $arr1[0]; echo '<br/>'; $arr2 = get_headers('https://www.feiniaomy.com'); echo $arr2[0]; ?>

输出功效:

HTTP/1.1 301 Moved Permanently HTTP/1.1 301 Moved Permanently HTTP/1.1 200 OK

注:

由于测试网址(本博客url) HTTP 协议都301到了 HTTPS 协议的 www 二级域名上,所以前两次会输出html的301状态码,最后一次是直接请求的 HTTPS 协议的地点,直接返回 HTML 200的状态码。

要领二:

<?php $ch = curl_init('https://www.baidu.com'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_exec($ch); $httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);  curl_close($ch); ?>

返回功效:

200

PS:此种要领代码有些长,假如要同时判定多个长途页面的 HTML 状态码,则需要书写大量的反复代码,我们可以将它封装成一个函数,直接用即可

函数代码:

function GetHttpCode($url){     $ch = curl_init($url);     curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);     curl_exec($ch);     $httpcode = curl_getinfo($ch,CURLINFO_HTTP_CODE);      curl_close($ch);     return $httpcode; }

函数挪用:

echo GetHttpCode(''); echo GetHttpCode('');

返回功效:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8993.html