1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 探讨file_get_contents与curl效率及稳定性的分析【PHP】

探讨file_get_contents与curl效率及稳定性的分析【PHP】

时间:2019-12-11 02:31:17

相关推荐

探讨file_get_contents与curl效率及稳定性的分析【PHP】

后端开发|php教程

file_get_contents,curl,稳定性

后端开发-php教程

做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设置了超时,可多数时候不会奏效:

星墨系统源码,ubuntu无桌面环境,tomcat连接数据源流程,py爬虫常见错误,php8.0版本的更新,快速seo方法lzw

$config[context] = stream_context_create(array(‘http => array(‘method => “GET”,

imeout => 5//这个超时时间不稳定,经常不奏效

)

));

这时候,看一下服务器的连接池,会发现一堆类似的错误,让你头疼万分:

file_get_contents(http://***): failed to open stream…

不得已,安装了curl库,写了一个函数替换:

232交友网源码,vscode需要设置中文吗,ubuntu放弃root,tomcat开启apr模式,精准广告 爬虫,php 自动登录实现,seo是什么意思菲律宾,哪里能买到网站源代码,移动端类似的网站模板lzw

function curl_file_get_contents($durl){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $durl);

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);

curl_setopt($ch, CURLOPT_REFERER,_REFERER_);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$r = curl_exec($ch);

curl_close($ch);

return $r;

}

如此,除了真正的网络问题外,没再出现任何问题。

这是别人做过的关于curl和file_get_contents的测试:

file_get_contents抓取需用秒数:

2.31319094

2.30374217

2.21512604

3.30553889

2.30124092

curl使用的时间:

0.68719101

0.64675593

0.64326

0.81983113

0.63956594

差距很大吧?呵呵,从我使用的经验来说,这两个工具不只是速度有差异,稳定性也相差很大。建议对网络数据抓取稳定性要求比较高的朋友使用上面的curl_file_get_contents函数,不但稳定速度快,还能假冒浏览器欺骗目标地址哦!

翼盟彩票源码,vscode修改默认浏览器,ubuntu教程基础,tomcat端口通不通,爬虫强制退出,php编写cms,金华义乌seo关键词优化lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。