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"   
}   
*/

时间: 2025-01-21 19:25:14

PHP获取访问页面HTTP状态码例子的相关文章

404错误页面返回的状态码是200之严重性

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 最近在做网站的改版时发现站点的404错误页面是IIS的默认页面,内容很单调.为了提高网站的友好性,我便重新设计了一个404错误页面:接着,我便登录至A服务器 提供商的后台开始操作,准备更新该404错误页面. 在后台的整个操作还是很便捷的,A服务器提供商这块的用户体验确实做的不错!很快,我按照提示就完成了404错误页面的更新了.打开我网站的某一个页面,随便的在该域名后

IIS下自定义404页面返回200状态码的严重性及解决方法_win服务器

在了解404页面前,先给大家了解一下几个常见的HTTP状态码.* 404 : 请求的网页不存在(不排除日后该链接有效的可能性):* 410 : 请求的网页不存在(永久):* 200 : 服务器成功返回网页* 302 : 网址临时重定向(跳转)* 301 : 网址永久重定向* 403 : 拒绝访问* 500 : 内部错误 当访问一个不存在的页面时会返回404状态码,告诉搜索引擎这个页面不存在或者已经删除.默认情况下没做自定义404页面时,访问一个不存在的页面会如下图所示 出现这样的页面无论是对用户

php实现获取及设置用户访问页面语言类_php技巧

本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考.具体分析如下: 该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php类文件如下: <?php /** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language *

Seo优化技巧:HTTP状态码详细介绍

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 HTTP状态码是什么?HTTP状态码有什么用处?如何处理HTTP状态码能够和搜索引擎更友好?技巧在哪里?更有利于网站优化?HTTP状态码如何监测?这些都是许多刚入门seo优化这个行业的新手经常问的问题,下面我们一一做出解答. Seo技巧_HTTP状态码是什么? HTTP协议是典型请求/响应模式,客户端请求服务器,客户端和服务器建立连接. 客户

python中使用urllib2获取http请求状态码的代码例子_python

采集内容常需要得到网页返回的验证码做进一步处理 下面代码是用python写的用来获取网页http状态码的脚本 #!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 #Filename:states_code.py import urllib2 url = 'http://www.jb51.net/' response = None try: response = urllib2.urlopen(url,timeout=5) excep

状态码503的页面怎么获取到他的内容

问题描述 我在向google发送请求时,返回了一个503的页面,这个页面是一个验证码加一些其他的东西,我想获取到这个页面的内容.使用httpurlconnection获取输入流时异常了:Server returned HTTP response code: 503 for URL: http://www.google.com.hk/sorry/?continue= ....之后就获取不到页面的内容,可是浏览器就可以获取503页面的内容啊,他们是怎么做的 解决方案 InputStream is =

PHP curl 获取响应的状态码的方法_php技巧

PHP curl可以从服务器端模拟一个http请求,例如抓取网页.模拟登陆等.根据选项设置,可以在curl_exec的返回结果中获取到响应头和body,但这没有响应的状态吗.想要获取状态码,需要在执行curl_exec后再通过curl_getinfo来获取.例如: 复制代码 代码如下: $ch = curl_init (); curl_setopt($ch, CURLOPT_URL, 'http://www.google.com.hk'); curl_setopt($ch, CURLOPT_TI

解决php curl获取网页内容提示405 method not allowed状态码

1.php curl ipv4使用例子  代码如下 复制代码 /**  * http测试  * 注:PHP版本5.2以上才支持CURL_IPRESOLVE_V4  * @param $url 网站域名  * @param $type 网站访问协议  * @param $ipresolve 解析方式  */ public function web_http($url,$type,$ipresolve) { //设置Header头 $header[] = "Accept: application/j

php获取http状态码程序代码

经常需要判断文件是否可以访问,可以通过http状态码判别,200为正常访问,404为找不到该页面,代码如下  代码如下 复制代码 <?php // 设置url $url = 'http://www.111cn.net'; function get_http_status_code($url) {  if(empty($url)) return false;  $url = parse_url($url);  $host = isset($url['host']) ? $url['host'] :