中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中file_get_contents與curl效率及穩定性的示例分析

發布時間:2021-10-14 09:13:50 來源:億速云 閱讀:153 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“php中file_get_contents與curl效率及穩定性的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“php中file_get_contents與curl效率及穩定性的示例分析”這篇文章吧。

做過好多抓取別家網站內容的產品,習慣了使用方便快捷的file_get_contents函數,但是總是會遇到獲取失敗的問題,盡管按照手冊中的例子設置了超時,可多數時候不會奏效:

代碼如下:


$config['context'] = stream_context_create(array(‘http' => array(‘method' => “GET”,
   'timeout' => 5//這個超時時間不穩定,經常不奏效
   )
  ));


這時候,看一下服務器的連接池,會發現一堆類似的錯誤,讓你頭疼萬分:
file_get_contents(http://***): failed to open stream…
不得已,安裝了curl庫,寫了一個函數替換:

代碼如下:


<span >function</span> curl_file_get_contents<span >(</span><span >$durl</span><span >)</span><span >{</span>
&nbsp;&nbsp;&nbsp;<span >$ch</span> <span >=</span> <span >curl_init</span><span >(</span><span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >curl_setopt</span><span >(</span><span >$ch</span><span >,</span> CURLOPT_URL<span >,</span> <span >$durl</span><span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >curl_setopt</span><span >(</span><span >$ch</span><span >,</span> CURLOPT_TIMEOUT<span >,</span> <span >5</span><span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >curl_setopt</span><span >(</span><span >$ch</span><span >,</span> CURLOPT_USERAGENT<span >,</span> _USERAGENT_<span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >curl_setopt</span><span >(</span><span >$ch</span><span >,</span> CURLOPT_REFERER<span >,</span>_REFERER_<span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >curl_setopt</span><span >(</span><span >$ch</span><span >,</span> CURLOPT_RETURNTRANSFER<span >,</span> <span >1</span><span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >$r</span> <span >=</span> <span >curl_exec</span><span >(</span><span >$ch</span><span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >curl_close</span><span >(</span><span >$ch</span><span >)</span><span >;</span>
&nbsp;&nbsp;&nbsp;<span >return</span> <span >$r</span><span >;</span>
&nbsp;<span >}</span>


如此,除了真正的網絡問題外,沒再出現任何問題。
這是別人做過的關于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中file_get_contents與curl效率及穩定性的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

乌鲁木齐县| 宣威市| 海阳市| 娄烦县| 沂水县| 长寿区| 金川县| 开江县| 西华县| 淮阳县| 明溪县| 新巴尔虎左旗| 郑州市| 东明县| 苏尼特左旗| 七台河市| 兰州市| 府谷县| 武义县| 康乐县| 桓仁| 临汾市| 邛崃市| 澄江县| 奎屯市| 合作市| 高邑县| 鄂尔多斯市| 潜山县| 乌拉特后旗| 长宁区| 阿拉善右旗| 盐山县| 贞丰县| 宜城市| 长泰县| 司法| 兴文县| 鞍山市| 普定县| 福清市|