问题:
最后打印出来的结果都是乱码 ,经测试,新浪博客不会出现此问题,只有搜狐博客有次问题
原因:
获取的头部当中有Content-Encoding: gzip说明内容是GZIP压缩的 解压后就能得到内容了
PHP内置的file_get_contents不支持GZIP 可以试试CURL 好象能处理GZIP
- array(11) {
- [0]=>
- string(15) "HTTP/1.1 200 OK"
- [1]=>
- string(35) "Content-Type: text/html;charset=gbk"
- [2]=>
- string(17) "Connection: close"
- [3]=>
- string(13) "Server: nginx"
- [4]=>
- string(35) "Date: Fri, 29 Oct 2010 00:36:51 GMT"
- [5]=>
- string(26) "Vary: Host,Accept-Encoding"
- [6]=>
- string(14) "Pragma: Public"
- [7]=>
- string(26) "Cache-Control: max-age=300"
- [8]=>
- string(38) "Expires: Fri, 29 Oct 2010 00:41:53 GMT"
- [9]=>
- string(22) "Content-Encoding: gzip "
- [10]=>
- string(14) "FSS-Cache: HIT"
- }
解决办法:
1.定义一位外国高人写的gzip解码函数gzdecode():
2.调用此函数将获得的数据解码
iehttpheaders,httpwatch,FF的LiveHTTPHeaders,,FF的firebug,FF的httpfox都可以看头部信息的,还有其它很多工具。