您的位置:首页 > 编程语言 > PHP开发

php获取请求url时响应的报头信息几种方法

2012-11-06 17:27 836 查看
1、用file_get_contents或者fopen、file、readfile等函数读取url的时候,会创建一个名 为$http_response_header的变量来保存http响应的报头.

示例代码一:

<?php
$url = 'http://www.baidu.com';
$html = file_get_contents($url);
print_r($http_response_header);
//输出结果
Array(
[0] => HTTP/1.1 200 OK
[1] => Date: Tue, 06 Nov 2012 08:51:01 GMT
[2] => Server: BWS/1.0
[3] => Content-Length: 9803
[4] => Content-Type: text/html;charset=gbk
[5] => Cache-Control: private
[6] => Expires: Tue, 06 Nov 2012 08:51:01 GMT
[7] => Set-Cookie: BAIDUID=6635735B51B28640F425F802C49340F2:FG=1;
expires=Tue, 06-Nov-42 08:51:01 GMT; path=/; domain=.baidu.com
[8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "
[9] => Connection: Close
)
?>


2、使用fopen等函数打开的数据流信息可以用 stream_get_meta_data来获取。

示例代码二:

<?php
$fp = fopen($url, 'r');
print_r(stream_get_meta_data($fp));
fclose($fp);
//输出结果
Array
(
[wrapper_data] => Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Tue, 06 Nov 2012 08:54:22 GMT
[2] => Server: BWS/1.0
[3] => Content-Length: 9803
[4] => Content-Type: text/html;charset=gbk
[5] => Cache-Control: private
[6] => Expires: Tue, 06 Nov 2012 08:54:22 GMT
[7] => Set-Cookie: BAIDUID=347578BCBD709F27925BDD8B05364A73:FG=1;
expires=Tue, 06-Nov-42 08:54:22 GMT; path=/; domain=.baidu.com
[8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "
[9] => Connection: Close
)

[wrapper_type] => http
[stream_type] => tcp_socket
[mode] => r
[unread_bytes] => 0
[seekable] =>
[uri] => http://www.baidu.com [timed_out] =>
[blocked] => 1
[eof] =>
)
?>


3、get_headers()也可以获取请求url的响应报文。

示例代码三:

<?php
print_r(get_headers($url));
Array
(
[0] => HTTP/1.1 200 OK
[1] => Date: Tue, 06 Nov 2012 08:58:41 GMT
[2] => Server: BWS/1.0
[3] => Content-Length: 9803
[4] => Content-Type: text/html;charset=gbk
[5] => Cache-Control: private
[6] => Expires: Tue, 06 Nov 2012 08:58:41 GMT
[7] => Set-Cookie: BAIDUID=87B6F26EEC74F2B8F7FABA934DC6BB24:FG=1;
expires=Tue, 06-Nov-42 08:58:41 GMT; path=/; domain=.baidu.com
[8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "
[9] => Connection: Close
)
?>


4、php5中新增的参数context使这些函数更加灵活,通过它我们可以定制http请 求,甚至post数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: