起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1938|回复: 0

PHP获取访问页面HTTP状态码例子

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
QQ
发表于 2016-11-3 09:52:57 | 显示全部楼层 |阅读模式
PHP获取访问页面HTTP状态码例子
今天,时间财富网小编来和大家分享一个PHP获取访问页面HTTP状态的再封装函数;
以下是关键部分代码:
/**
* 获取远程URL的HTTP状态
*
* @version 0.0.1
* @Author  Chenjl  *
* @param string  $url       远程URL
* @param string  $data      ture[返回HTTP状态数组] | false[返回状态数值]
*
* @return  mixed
*/
function getHeaders($url,$data=FALSE){
    $_headers = get_headers($url,1);
    if( !$data ){return $_headers;}
    $curl = curl_init();  
    curl_setopt($curl,CURLOPT_URL,$url);//获取内容url  
    curl_setopt($curl,CURLOPT_HEADER,1);//获取http头信息  
    curl_setopt($curl,CURLOPT_NOBODY,1);//不返回html的body信息  
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//返回数据流,不直接输出  
    curl_setopt($curl,CURLOPT_TIMEOUT,30); //超时时长,单位秒  
    curl_exec($curl);  
    $rtn= curl_getinfo($curl,CURLINFO_HTTP_CODE);  
    curl_close($curl);
    return  $rtn;
}
上面的代码,逐风已将两种获取方式进行一个整合,方便不同获取HTTP状态情景的需求;
返回结果:
# 调用案例1:getHeaders('http://www.111cn.net\/\',true);
# 返回结果:200 // 直接返回HTTP状态码

# 调用案例2:getHeaders('http://www.111cn.net/',false);
# 返回结果:
/*
array(10) {   
[0]=>   
string(15) "HTTP/1.1 200 OK"   
["Server"]=>   
string(5) "nginx"   
["Date"]=>   
string(29) "Mon, 04 Jul 2016 06:21:35 GMT"   
["Content-Type"]=>   
string(9) "text/html"   
["Content-Length"]=>   
string(5) "26898"   
["Last-Modified"]=>   
string(29) "Mon, 04 Jul 2016 06:16:00 GMT"   
["Connection"]=>   
string(5) "close"   
["Vary"]=>   
string(15) "Accept-Encoding"   
["ETag"]=>   
string(15) ""5779ff20-6912""   
["Accept-Ranges"]=>   
string(5) "bytes"   
}   
*/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-12-4 01:28 , Processed in 0.052474 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表