Maison > php教程 > php手册 > le corps du texte

php获取http状态码程序代码

WBOY
Libérer: 2016-05-25 16:44:08
original
3034 Les gens l'ont consulté

经常需要判断文件是否可以访问,可以通过http状态码判别,200为正常访问,404为找不到该页面,代码如下:

<?php
// 设置url 
$url = &#39;http://www.phprm.com&#39;; 
function get_http_status_code($url) { 
 if(emptyempty($url)) return false; 
 $url = parse_url($url); 
 $host = isset($url[&#39;host&#39;]) ? $url[&#39;host&#39;] : &#39;&#39;; 
 $port = isset($url[&#39;port&#39;]) ? $url[&#39;port&#39;] : &#39;80&#39;; 
 $path = isset($url[&#39;path&#39;]) ? $url[&#39;path&#39;] : &#39;&#39;; 
 $query = isset($url[&#39;query&#39;]) ? $url[&#39;query&#39;] : &#39;&#39;; 
 
 
 $request = "HEAD $path?$query HTTP/1.1\r\n" 
   ."Host: $host\r\n" 
   ."Connection: close\r\n" 
   ."\r\n"; 
 
 $address = gethostbyname($host); 
 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
 socket_connect($socket, $address, $port); 
 
 socket_write($socket, $request, strlen($request)); 
 
 $response = split(&#39; &#39;, socket_read($socket, 1024)); 
 socket_close($socket); 
 return  trim($response[1]); 
} 
echo get_http_status_code($url); 
?>
Copier après la connexion

另一种获取http状态码的办法

使用curl需要在php.ini中设置启用才行 >< Windows的服务器中,打开php.ini,找到:

extension=php_curl.dll
Copier après la connexion

去掉前面的注释既可.

PHP实例代码如下:

<?php
$curl = curl_init(); 
$url=&#39;http://www.phprm.com&#39;; 
curl_setopt($curl, CURLOPT_URL, $url); //设置URL 
curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header 
curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了 
$data = curl_exec($curl); //开始执行啦~ 
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT码哦~ 
curl_close($curl); //用完记得关掉他  
?>
Copier après la connexion


本文地址:

转载随意,但请附上文章地址:-)

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!