• 注册
当前位置:1313e > php >正文

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

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

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

php获取html状态码的方法

方法一:

$arr = get_headers('http://feiniaomy.com');

echo $arr[0];

echo '
';

$arr1 = get_headers('http://www.feiniaomy.com');

echo $arr1[0];

echo '
';

$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的状态码。

方法二:

$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

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录