php获取远程页面html状态码的方法

发布时间:2020-05-10 02:21:05发布者:admin浏览数:

由于项目要求,需要利用php做一个获取远程页面html状态码的功能,用来判断远程页面是否可以访问,就类似那种HTML页面状态码检测工具一样。整理了一下代码,贴出来。有需要的可以拿去用哦。

php获取远程页面的html状态码,有两种方法。一种是用了php的内置函数 get_headers(),一种是用了 curl 方法。

php获取远程页面html状态码的方法

php获取html状态码的方法

方法一:

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

输出结果:

HTTP/1.1 301 Moved PermanentlyHTTP/1.1 301 Moved PermanentlyHTTP/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('http://www.baidu.com');echo GetHttpCode('http://feiniaomy.com');

返回结果:

200 301



  站长教程分类
程序开发 |  系统教程 |  软件应用 |  图形图像 |  网络应用 |  站长教程 |  网站建设 |  视频教程 |  硬件维护 |  IT资讯 |  中国it动力网
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!
如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright @ 2019 中国it动力网 网站导航