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

来源:互联网 发布:服务器备份软件 编辑:程序博客网 时间:2024/05/16 14:43

    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的响应报文。

示例代码三:

 <?phpprint_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数据。

原创粉丝点击