欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

curl爬取超时

程序员文章站 2022-05-27 08:41:55
...
用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);

相关标签: 超时 curl