用snoopy去抓取discuz程序的门户部分,就会发现抓取不到内容。比如这个页面:
http://www.56php.com/portal.php?mod=list&catid=39
但是你用php普通的file_get_contents去抓取就可以抓取到。
我查看了一下,snoopy抓取返回的http头是:HTTP/1.1 302 Moved Temporarily
可是我在线检测那个页面,状态是 200,返回的http头是:Http/1.1 200 OK那么就说明,snoopy获取到的头响应是错的。所以导致了获取不到内容。这个bug如何修复?我捣弄了几个晚上了,坐等高人。我的代码如下
<?php
require_once('Snoopy.class.php');
$url = 'http://www.56php.com/portal.php?mod=list&catid=39';
$snoopy = new Snoopy; 
$snoopy->fetchtext($url); 
var_dump($snoopy->headers);?>