这是一个基于PHP的查询网站状态码函数,可以直接函数调用,当然也可以封装成自己的api
function GetHttpStatusCode($url){$curl = curl_init();curl_setopt($curl,CURLOPT_URL,$url);//获取内容urlcurl_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,9); //超时时长,单位秒curl_exec($curl);$rtn= curl_getinfo($curl,CURLINFO_HTTP_CODE);curl_close($curl);return $rtn;}
一些常见状态代码
10x:请求收到,继续处理;
20x:操作成功收到,分析、接受;
30x:完成此请求必须进一步处理;
40x:请求包含一个错误语法或不能完成;
50x:服务器执行一个完全有效请求失败;
上述函数返回的是状态码,那想进一步输出对应的汉字表述可以继续使用下面的函数。
下面代码输出HTTP响应状态码的PHP函数
function get_status_header_desc($code) {if (!isset($status_header_desc)) {$status_header_desc = array(100 => '客户必须继续发出请求',101 => '客户要求服务器根据请求转换HTTP协议版本',200 => '请求成功 ',201 => '提示知道新文件的URL ',202 => '接受和处理、但处理未完成',203 => '返回信息不确定或不完整 ',204 => '请求收到,但返回信息为空 ',205 => '服务器完成了请求,用户代理必须复位当前已经浏览过的文件',206 => '服务器已经完成了部分用户的GET请求 ',300 => '请求的资源可在多处得到 ',301 => '永久移动 ',302 => '在其他地址发现了请求数据 ',303 => '建议客户访问其他URL或访问方式 ',304 => '客户端已经执行了GET,但文件未变化 ',305 => '请求的资源必须从服务器指定的地址得到 ',306 => '前一版本HTTP中使用的代码,现行版本中不再使用 ',307 => '申明请求的资源临时性删除 ',400 => '错误请求,如语法错误 ',401 => '请求授权失败 ',402 => '保留有效ChargeTo头响应',403 => '请求不允许 ',404 => '没有发现文件、查询或URl',405 => '用户在Request-Line字段定义的方法不允许 ',406 => '根据用户发送的Accept拖,请求资源不可访问 ',407 => '类似401,用户必须首先在代理服务器上得到授权',408 => '客户端没有在用户指定的饿时间内完成请求 ',409 => '对当前资源状态,请求不能完成 ',410 => '服务器上不再有此资源且无进一步的参考地址 ',411 => '服务器拒绝用户定义的Content-Length属性请求',412 => '一个或多个请求头字段在当前请求中错误 ',413 => '请求的资源大于服务器允许的大小 ',414 => '请求的资源URL长于服务器允许的长度 ',415 => '请求资源不支持请求项目格式 ',416 => '请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段',417 => '服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求',500 => '服务器产生内部错误',501 => '服务器不支持请求的函数',502 => '服务器暂时不可用,有时是为了防止发生系统过载',503 => '服务器过载或暂停维修',504 => '关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长',505 => '服务器不支持或拒绝支请求头中指定的HTTP版本');}if (isset($status_header_desc[$code])) {return $status_header_desc[$code];} else {return '';}}
我们可以用本文的代码封装一个api,可以用来检测网站状态,比如有清廉、监控网站等。
想了解更多关于检测网站状态码 PHP函数的内容,请扫微信
或微信搜索jiemingpan
本文链接:http://www.soufuzi.com/jianzhan/3158