当前位置:首页 > 软件开发学习 > PHP学习 > 正文内容

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

admin6年前 (2015-01-06)PHP学习1146

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

  1、用file_get_contents或者fopen、file、readfile等函数读取url的时候,会创建一个名 为$http_response_header的变量来保存http响应的报头.

  示例代码一:

  [php] view plaincopy

  1.   <?php

  2.   $url = 'http://www.sunhuahai.com';

  3.   $html = file_get_contents($url);

  4.   print_r($http_response_header);

  5.   //输出结果

  6.   Array(

  7.   [0] => HTTP/1.1 200 OK

  8.   [1] => Date: Tue, 06 Nov 2012 08:51:01 GMT

  9.   [2] => Server: BWS/1.0

  10.   [3] => Content-Length: 9803

  11.   [4] => Content-Type: text/html;charset=gbk

  12.   [5] => Cache-Control: private

  13.   [6] => Expires: Tue, 06 Nov 2012 08:51:01 GMT

  14.   [7] => Set-Cookie: BAIDUID=6635735B51B28640F425F802C49340F2:FG=1;

  15.   expires=Tue, 06-Nov-42 08:51:01 GMT; path=/; domain=.baidu.com

  16.   [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "

  17.   [9] => Connection: Close

  18.   )

  19.   ?>

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

  示例代码二:

  [php] view plaincopy

  1.   <?php

  2.   $fp = fopen($url, 'r');

  3.   print_r(stream_get_meta_data($fp));

  4.   fclose($fp);

  5.   //输出结果

  6.   Array

  7.   (

  8.   [wrapper_data] => Array

  9.   (

  10.   [0] => HTTP/1.1 200 OK

  11.   [1] => Date: Tue, 06 Nov 2012 08:54:22 GMT

  12.   [2] => Server: BWS/1.0

  13.   [3] => Content-Length: 9803

  14.   [4] => Content-Type: text/html;charset=gbk

  15.   [5] => Cache-Control: private

  16.   [6] => Expires: Tue, 06 Nov 2012 08:54:22 GMT

  17.   [7] => Set-Cookie: BAIDUID=347578BCBD709F27925BDD8B05364A73:FG=1;

  18.   expires=Tue, 06-Nov-42 08:54:22 GMT; path=/; domain=.baidu.com

  19.   [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "

  20.   [9] => Connection: Close

  21.   )


  22.   [wrapper_type] => http

  23.   [stream_type] => tcp_socket

  24.   [mode] => r

  25.   [unread_bytes] => 0

  26.   [seekable] =>

  27.   [uri] => http://www.baidu.com

  28.   [timed_out] =>

  29.   [blocked] => 1

  30.   [eof] =>

  31.   )

  32.   ?>

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

  示例代码三:

  [html] view plaincopy

  1.   <?php

  2.   print_r(get_headers($url));

  3.   Array

  4.   (

  5.   [0] => HTTP/1.1 200 OK

  6.   [1] => Date: Tue, 06 Nov 2012 08:58:41 GMT

  7.   [2] => Server: BWS/1.0

  8.   [3] => Content-Length: 9803

  9.   [4] => Content-Type: text/html;charset=gbk

  10.   [5] => Cache-Control: private

  11.   [6] => Expires: Tue, 06 Nov 2012 08:58:41 GMT

  12.   [7] => Set-Cookie: BAIDUID=87B6F26EEC74F2B8F7FABA934DC6BB24:FG=1;

  13.   expires=Tue, 06-Nov-42 08:58:41 GMT; path=/; domain=.baidu.com

  14.   [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "

  15.   [9] => Connection: Close

  16.   )

  17.   ?>

  4、php5中新增的参数context使这些函数更加灵活,通过它我们可以定制http请 求,甚至post数据。

扫描二维码推送至手机访问。

版权声明:本文由学无止境-开拓创新-ipvb学习网发布,如需转载请注明出处。

标签: phpgetput
分享给朋友:

相关文章

php过滤危险html代码

用PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。以下是引用片段:#用户发...

PHP header() 函数

  PHP header() 函数  PHP HTTP 函数  定义和用法  header() 函数向客户端发送原始的 HTTP 报头。  认识到一点很重要,即必须在任何实际的输出被发送之前调用 he...

php的header来定义一个php页面为utf编码或GBK编码

  php的header来定义一个php页面为utf编码或GBK编码  php页面为utf编码  header("Content-type: text/html; charset=utf-8...

php的session优化

php的session优化

这个问题很多做php开发朋友应该都有遇到过,一个启用了session_start 页面,由于执行时间过长。导致通一个用户访问,另外一个很简单的启用session_start页面一直阻塞着。 直到第一个...

计算并输出1000000次字符串比较和数字比较的耗时

//9.代码:计算并输出1000000次字符串比较和数字比较的耗时。 $str1="123"; $str2="145"; $a=microtime(tru...

PHP语言的优势?

 随着移动互联网的兴起,互联网行业正向更加智能化的Web3.0时代迈进,中国互联网 行业进入了高速发展的势态,PHP语言已经为大部分企业广泛应用和重视(如:新浪、百度、腾讯、TOM、淘宝、搜...