当前位置:Gxlcms > PHP教程 > curl爬取超时

curl爬取超时

时间:2021-07-01 10:21:17 帮助过:11人阅读

用curl抓取别的网站时可以正常抓回来,但是对于http://www.fblife.com/这个网站就无能为力了,总是在抓回16K大小后就不再返回数据了,但是http状态返回码依旧是200,求高人指教


回复讨论(解决方案)

阿弥陀佛,施主,如果基础编程没能解决,发到这里也是一样的。

set_time_limit(0);

set_time_limit(0);


不是这原因吧?

@curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.0)");

把你的代码贴出来,
我这样:


返回很正常呀,文件信息165.56K

这个在浏览器里访问这个页面是可以的,关键这个php我是在后台跑的,为啥在后台运行就不行呢

把你的代码贴出来,
我这样:
PHP code

$h=curl_init();
curl_setopt($h, CURLOPT_URL, $u);
$s=curl_exec($h);
curl_close($h);
echo $s;
?>


返回很正常呀,文件信息165……

对这网站也无能为力啊 http://www.ydtuiguang.com/

不拥curl就行啊
set_time_limit(0);
var_dump(file_get_contents("http://www.ydtuiguang.com/"));

我的可以啊。你的报错了吗

对这网站也无能为力啊 http://www.ydtuiguang.com/

今天又试了下,把这段代码存为fblife.php文件,然后在windows命令行下执行php fblife.php是可以正常输出的,但是在linux环境下,运行php fblife.php,同样的命令却只能得到一部分,请问有谁知道这是linux系统的问题还是其他别的问题呢?
而且,linux下 wget "http://www.fblife.com/"执行这个命令也只能得到一部分
$u="http://www.fblife.com/";
$h=curl_init();
curl_setopt($h, CURLOPT_URL, $u);
$s=curl_exec($h);
curl_close($h);
echo $s;
?>

$timeout=360;//设置超时时间
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$timeout);

不是这个问题-_-!!

$timeout=360;//设置超时时间
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$timeout);

人气教程排行