91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

石城县| 东阳市| 海兴县| 柳江县| 富民县| 西林县| 沾益县| 来宾市| 吴江市| 本溪| 错那县| 郴州市| 本溪市| 定安县| 桃源县| 朔州市| 武定县| 闻喜县| 汶上县| 贵德县| 五峰| 深泽县| 乌海市| 嘉禾县| 会理县| 息烽县| 浮梁县| 垦利县| 正蓝旗| 沁水县| 文山县| 遵义市| 常山县| 大洼县| 榆林市| 上蔡县| 行唐县| 南华县| 和林格尔县| 上杭县| 伽师县|