if($fp = fsockopen($host,80,$errno, $errstr, 10)){
for($i=0;$i<count($domainList);$i++){
$header = "GET ".$query.$domainList[$i]." HTTP/1.1\r\n";
$header .= "Accept: */*\r\n";
$header .= "Accept-Language: UTF-8\r\n";
$header .= "Accept-Encoding: UTF-8\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; InfoPath.1; .NET CLR 2.0.50727)\r\n";
$header .= "Host: ". $host ."\r\n";
$header .= "Connection: Keep-Alive\r\n";
$header .= "Cookie: cnzz02=2; rtime=1; ltime=1148456424859; cnzz_eid=56601755-\r\n\r\n";
//stream_set_timeout($fp, 5);
fputs($fp, $header);
$contents = "";
$contents = fread($fp, 1024);
/*$status = stream_get_meta_data($fp);
if($status['timed_out']){
return false;
}*/
//echo $contents;
preg_match("/totalResultsAvailable=\"(.*?)\"/",$contents,$result);
echo $result[1];
echo "<br>";
ob_flush();
flush();
}
fclose($fp);
}我是这样写的,但这样只能返回$domainList的第一个元素的结果,其他的不返回,为什么呢
for($i=0;$i<count($domainList);$i++){
$header = "GET ".$query.$domainList[$i]." HTTP/1.1\r\n";
$header .= "Accept: */*\r\n";
$header .= "Accept-Language: UTF-8\r\n";
$header .= "Accept-Encoding: UTF-8\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; InfoPath.1; .NET CLR 2.0.50727)\r\n";
$header .= "Host: ". $host ."\r\n";
$header .= "Connection: Keep-Alive\r\n";
$header .= "Cookie: cnzz02=2; rtime=1; ltime=1148456424859; cnzz_eid=56601755-\r\n\r\n";
//stream_set_timeout($fp, 5);
fputs($fp, $header);
$contents = "";
$contents = fread($fp, 1024);
/*$status = stream_get_meta_data($fp);
if($status['timed_out']){
return false;
}*/
//echo $contents;
preg_match("/totalResultsAvailable=\"(.*?)\"/",$contents,$result);
echo $result[1];
echo "<br>";
ob_flush();
flush();
}
fclose($fp);
}我是这样写的,但这样只能返回$domainList的第一个元素的结果,其他的不返回,为什么呢
断点调试或echoZendIDE装一下debugger