0
我从一个网站上列出了一些产品,并且在数据库中保存了产品页面的url,并通过表格获取网址并使用简单的html dom解析器刮我正在使用下面的代码。PHP:连接中止,同时从网站上抓取数据
<?php
error_reporting(E_ALL);
ignore_user_abort(true);
require_once('lib/simple_html_dom.php');
set_time_limit(0);
ini_set('memory_limit', '1024M');
ini_set('max_input_time ', '99999');
$catid = $_REQUEST['catid']; //passing category id from url
//getting category product url's from DB.
$query = mysql_query("select * from cat_prod where catid='".$catid."' ") or die(mysql_error());
if($query){
while($arr = mysql_fetch_array($query)){
$html = file_get_html($arr['purl']);
if(is_object($html)){
$i=1;
foreach ($html->find('h1') as $elem){
if(is_object($elem) && isset($elem))
echo $i.' : '.$elem->plaintext.'<br/>';
if($i==2) exit;
$i++;
}
$html->clear();
unset($html);
}
}
}
?>
当我在一次迭代后死亡执行它的罚款,但超过一个抛出连接中止错误。
有多少请求在您做刮远程站点?也许远程站点有一个阻止请求的防火墙,因为它检测到来自一个源(您的站点)的太多连接。 – Samutz 2013-04-24 20:38:24
Arg!将原始用户输入传递给SQL字符串。这是一个等待发生的SQL注入攻击! – Matt 2013-04-24 21:11:39