在用 file_get_contents 访问 http 时,stream wrapper 会把响应头放到当前作用域下的 $http_response_header 数组变量里。
所以说变量$http_response_header就保存了需要的响应头,输出这个变量也就能拿到响应头。
file_get_contents('http://www.hhtjim.com/');
print_r($http_response_header);//输出响应头内容
参考:
http://www.jbxue.com/article/16319.html
PS:
平时用file_get_contents()函数读取url的网页内容,还不了解原来这玩意还有很多参数可以设置。
<?php
$url = 'http://www.baidu.com';
$opts = array('http'=>array('header' => "User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0\r\n"));
$context = stream_context_create($opts);
$data = file_get_contents($url,false,$context);
print_r($data);
说明:
在sae上测试无法抓取(包括curl),才改用file_get_contents函数,并且添加User-Agent参数。
参考:http://blog.sina.com.cn/s/blog_4ae555810101cuef.html
http://stackoverflow.com/questions/22498581/php-file-get-contents-500-internal-server-error-in-php