首页 后端开发 php教程 探讨file_get_contents与curl效率及稳定性的分析_PHP教程

探讨file_get_contents与curl效率及稳定性的分析_PHP教程

Jul 21, 2016 pm 03:08 PM
curl file get 内容 分析 抓取 探讨 效率 稳定 网站

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

复制代码 代码如下:

$config['context'] = stream_context_create(array(‘http' => array(‘method' => “GET”,
   'timeout' => 5//这个超时时间不稳定,经常不奏效
   )
  ));

这时候,看一下服务器的连接池,会发现一堆类似的错误,让你头疼万分:
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;
 }

如此,除了真正的网络问题外,没再出现任何问题。
这是别人做过的关于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函数,不但稳定速度快,还能假冒浏览器欺骗目标地址哦!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327449.htmlTechArticle做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Cheat Engine如何设置中文?Cheat Engine设置中文方法 Cheat Engine如何设置中文?Cheat Engine设置中文方法 Mar 13, 2024 pm 04:49 PM

  CheatEngine是一款游戏编辑器,能够对游戏的内存进行编辑修改。但是它的默认语言是非中文的,对于很多小伙伴来说比较不方便,那么CheatEngine怎么设置中文呢?今天小编就给大家详细介绍一下CheatEngine设置中文的方法,希望可以帮助到你。  设置方法一  1、双击打开软件,点击左上角的“edit”。  2、接着点击下方选项列表中的“settings”。  3、在打开的窗口界面中,点击左侧栏中的“languages”

私有化部署 Stable Diffusion 玩转 AI 绘图 私有化部署 Stable Diffusion 玩转 AI 绘图 Mar 12, 2024 pm 05:49 PM

StableDiffusion是一个开源的深度学习模型,其主要功能是通过文本描述来生成高质量的图像,并支持图生成、模型合并、以及模型训练等功能。该模型的操作界面可以在下图中看到。如何生图下面介绍一下小鹿喝水的生图过程,生成图的时候分为提示词和负面提示词,输入提示词的时候要明确描述,尽量具体描述你想要的场景、对象、风格和颜色。例如,不仅仅说“小鹿喝水”,而是说“一条小溪,旁边是茂密的树,小溪旁有小鹿在喝水”,负面提示词是反方向的例如:无建筑物、无人物、无桥梁、无围栏,而过于模糊的描述可能导致结果不

织梦CMS二级目录打不开的原因分析 织梦CMS二级目录打不开的原因分析 Mar 13, 2024 pm 06:24 PM

标题:解析织梦CMS二级目录打不开的原因及解决方案织梦CMS(DedeCMS)是一款功能强大的开源内容管理系统,被广泛应用于各类网站建设中。然而,有时候在搭建网站过程中可能会遇到二级目录无法打开的情况,这给网站的正常运行带来了困扰。在本文中,我们将分析二级目录打不开的可能原因,并提供具体的代码示例来解决这一问题。一、可能的原因分析:伪静态规则配置问题:在使用

Curl Get命令的示例 Curl Get命令的示例 Mar 20, 2024 pm 06:56 PM

在Linux中,URL或Curl客户端是一个流行的命令行实用程序,允许您使用HTTPS、HTTP、FTP等多种协议在网络上传输数据。它允许您使用其get、post和request方法发送和接收数据。其中,你需要经常使用“get”方法。因此,学习各种方法和各种选项,你可以用来提高你的生产力变得至关重要。“执行卷曲操作非常简单,只需输入几个简单的命令即可完成。尽管这看似简单,但许多用户并未充分认识到其潜力。因此,这篇简短指南提供了一些关于在Linux系统中使用“curlget”命令的实例。”Curl

分析腾讯主要的编程语言是否为Go 分析腾讯主要的编程语言是否为Go Mar 27, 2024 pm 04:21 PM

标题:腾讯主要的编程语言是否为Go:一项深入分析腾讯作为中国领先的科技公司,在编程语言的选择上一直备受关注。近年来,有人认为腾讯主要采用Go作为主要的编程语言。本文将对腾讯主要的编程语言是否为Go进行深入分析,并给出具体的代码示例来支持这一观点。一、Go语言在腾讯的应用Go是一种由Google开发的开源编程语言,它的高效性、并发性和简洁性受到众多开发者的喜

多次转型,与 AI 巨头英伟达合作,Vanar Chain 凭何 30 天暴涨 4.6 倍? 多次转型,与 AI 巨头英伟达合作,Vanar Chain 凭何 30 天暴涨 4.6 倍? Mar 15, 2024 am 10:46 AM

近来,Layer1区块链VanarChain凭借高涨幅以及与AI巨头英伟达合作备受市场关注。VanarChain走红背后,除了经历多次品牌转型,主打游戏、元宇宙和AI等热门概念也为该项目赚足了热度和话题。在进行转型之前,Vanar是TerraVirtua的前身,TerraVirtua是一家成立于2018年的公司。最初,它是一个提供基于付费订阅的虚拟现实(VR)和增强现实(AR)内容的平台,并支持加密货币支付。该公司由联合创始人GaryBracey和JawadAshraf创建,其中GaryBrac

从实际操作看鸿蒙系统的易用性分析 从实际操作看鸿蒙系统的易用性分析 Mar 23, 2024 am 08:21 AM

作为近年来备受关注的一款操作系统,鸿蒙系统备受瞩目。鸿蒙系统被誉为是华为为应对Android系统被封杀而推出的替代系统,具有自主可控、跨平台等优势。然而,一个系统的好坏不仅仅取决于其技术实力,更关键的是用户体验,即易用性。本文将从实际操作的角度出发,对鸿蒙系统的易用性进行分析。一、安装和设置鸿蒙系统的安装和设置相对简单,对于一般用户来说并不复杂。在安装过程中

解析 Solana 的 DEX 布局:Jupiter 是不是生态的未来? 解析 Solana 的 DEX 布局:Jupiter 是不是生态的未来? Mar 26, 2024 pm 02:10 PM

来源:深潮TechFlow作为Solana生态中备受瞩目的新兴项目,Jupiter尽管推出时间不长,却已经在DeFi领域中迅速崭露头角。然而,即使在这样快速发展的环境中,经济模型的完善和代币价格的稳定仍然至关重要。缺乏这些支撑,项目很容易陷入恶性循环,最终可能导致其衰落甚至无法为自身维持生机。因此,Jupiter需要不断优化其经济设计,确保代币价格稳定性,以确保项目的长期发展和成功。Solana链在最近一周表现强劲,其代币SOL在二级市场上涨势如虹,而Jupiter的代币$JUP也在过去两周内涨

See all articles