感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

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

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

’timeout’ =< 5//这个超时时间不稳定,经常不奏效

)

));

# End www_512pic_com

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

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

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

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;

}

# End www_512pic_com

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

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

file_get_contents抓取google.com需用秒数:

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函数,不但稳定速度快,还能假冒浏览器欺骗目标地址哦!

特别要注意:php版本不同可能测试结果不同,在php5.2下 file_get_contents函数效率特别低,容易出现占用cpu过高的情况,建议升级到php5.3,经测试在php5.3下没有该问题

注:关于php 浅析file_get_contents、curl 的效率和稳定性的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:file_get_contents,curl

php file_get_contents 效率,php 浅析file_get_contents、curl 的效率和稳定性相关推荐

  1. 移除集合效率高还是add高_效率比较--集合

    List ArrayList 实现原理内部封装Object[]数组(若创建时未指定长度 数组初始长度默认为10) 实质为 :无序数组 插入快 查找和删除指定元素慢 总结 O(1) O(N) O(1)  ...

  2. 斜面怎么计算机械效率,初中物理斜面的机械效率学习方法

    赶考状元小编为您带来初中物理斜面的机械效率学习方法,希望对大家有所帮助 初中物理斜面的机械效率学习方法(一) 斜面的机械效率: 有用功W有用=Gh总功W总=Fl W总=Gh+fl (f为摩擦力)额外功 ...

  3. Java List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率

    Java  List去重 Lis集合去重 List去重效率对比 List去重复元素效率对比 List去重效率 --- List 去重复元素的几种办法 一.概述 面试的时候,有个常见的问题:" ...

  4. 致命的效率:漫谈RSS阅读器效率

    致命的效率:漫谈RSS阅读器效率 翻译兼论述:玩聚网郑昀 关键词:RSS.阅读器 Bloglines的beta版本横空出世,一举融合bloglines和google reader的优缺点,像是鲜果的更 ...

  5. 计算机械效率的公式怎么读,机械效率

    机械效率是指机械在稳定运转时,机械的输出功(有用功量)与输入功(动力功量)的百分比.主要内容包括滑轮组,斜面效率,杠杆转动,常见效率,增大效率. 我们把有用功和总功的比值叫做机械效率.用符号η表示,计 ...

  6. 计算机械效率的公式怎么读,机械效率的计算公式

    全文共计1477字,建议阅读时间4分钟 1  机械效率的计算公式 机械功率计算公式为η=W有/W总×100%.我们把有用功和总功的比值叫做机械效率.用符号η表示.主要内容包括滑轮组,斜面效率,杠杆转动 ...

  7. php 如何得到 file_get_contents 数据,如何使用file_get_contents在PHP中发布数据?

    使用 file_get_contents发送HTTP POST请求不是那么难,实际上:正如你猜到的,你必须使用$ context参数. PHP手册中有一个例子,在这个页面:HTTP context o ...

  8. like效率 regexp_Oracle 中like效率 正则表达式 浅析

    Oracle 中like常用但是其效率不是高. 特别是使用%a%----->全局扫描,没有利用到任何索引. 情况可以的条件尽量下使用a%------>可以利用正序的索引. %a------ ...

  9. 浅析电子合同之效率篇:电子合同如何提高效率

    都说电子合同提高效率,但是如何提高效率却很难用一句化说清,本文通过梳理电子合同订立背景与过程,简述电子合同应用如何解决传统纸质合同的效率痛点-- 合法合规是电子合同使用与推广的前提 首先要明确一点,电 ...

最新文章

  1. torch 特征对齐
  2. GDT、GDTR、LDT、LDTR的学习
  3. java string转decimal_java中string转bigdecimal的例子
  4. 香港2013迷你制汇节即将启幕
  5. 如何修改Myeclipse中代码的字体大小?
  6. 身为管理者 会讲的六十八个故事
  7. intel网卡win10 修改mac
  8. 驱动精灵修复服务器,驱动精灵系统漏洞需要修复吗
  9. matlab生成摆线齿廓线,基于Matlab的摆线针轮齿廓修形参数的求解
  10. 免费的文档翻译教程;免费将很长的文档英文翻译成中文
  11. 科研笔记1:科研绘图
  12. C:\Users\用户名\AppData\Roaming里面的文件可以删除吗?
  13. 支付宝企业转账到个人账号(php源码,亲测)
  14. 汇编程序设计:钟表显示
  15. 微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)...
  16. V2Ray启动时显示Fatal error:can't bind to127.0.0.1:XXXXX解决方案
  17. python简易BMI测体重
  18. 【githubshare】KCon 黑客大会演讲 macOS Big Sur 内核漏洞挖掘、云虚拟化安全、服务器硬件可信与安全实践
  19. [复现]在colab上实现HistoSegNet
  20. javbd(javalibrary)

热门文章

  1. ubuntu 搜索推荐安装的NVIDIA驱动版本
  2. ESP32使用Arduino环境,安装、编译、下载、安装库
  3. Pytorch常用总结(持续更新...)
  4. SSCE(SQL Server Compact Edition)适合哪些应用场景
  5. jquery中的map()方法与js中的map()方法
  6. python3--匿名函数
  7. mysql完全卸载大全
  8. IE、firefox下怎样获得自定义属性的值
  9. WF从入门到精通(第十章):事件活动 (转)
  10. 检查虚拟机是否使用virtio