一、file_get_contents()函数可以把一个文件 (我理解就是一个URL)读入一个字符串。请问php 能得到访问这个链接的状态码么?比如200是成功,404是错误等等。
RE1:
$curl = curl_init();
$url=’http://www.smdcn.net ’;
curl_setopt($curl, CURLOPT_URL, $url); //设置URL
curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header
curl_setopt($curl,CURLOPT_NOBODY,true); //请求,不需要body
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了
$data = curl_exec($curl); //开始执行
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //获取HTTPSTAT码
curl_close($curl); //用完记得关掉他
RE2:
var_dump(get_headers("http://www.baidu.com")); // 这个不需要php curl扩展
<?php
$url = 'http://www.example.com' ;
print_r ( get_headers ( $url ));
print_r ( get_headers ( $url , 1 ));
?>
The above example will output something similar to:
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Sat, 29 May 2004 12:28:13 GMT
[2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
[3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[5] => Accept-Ranges: bytes
[6] => Content-Length: 438
[7] => Connection: close
[8] => Content-Type: text/html
)
Array
(
[0] => HTTP/1.1 200 OK
[Date] => Sat, 29 May 2004 12:28:14 GMT
[Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux)
[Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
[ETag] => "3f80f-1b6-3e1cb03b"
[Accept-Ranges] => bytes
[Content-Length] => 438
[Connection] => close
[Content-Type] => text/html
)