一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

探討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 style="color:#000000; font-weight:bold">function</span> curl_file_get_contents<span style="color:#009900">(</span><span style="color:#000088">$durl</span><span style="color:#009900">)</span><span style="color:#009900">{</span>
   <span style="color:#000088">$ch</span> <span style="color:#339933">=</span> <span style="color:#990000">curl_init</span><span style="color:#009900">(</span><span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#990000">curl_setopt</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#339933">,</span> CURLOPT_URL<span style="color:#339933">,</span> <span style="color:#000088">$durl</span><span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#990000">curl_setopt</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#339933">,</span> CURLOPT_TIMEOUT<span style="color:#339933">,</span> <span style="color:#cc66cc">5</span><span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#990000">curl_setopt</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#339933">,</span> CURLOPT_USERAGENT<span style="color:#339933">,</span> _USERAGENT_<span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#990000">curl_setopt</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#339933">,</span> CURLOPT_REFERER<span style="color:#339933">,</span>_REFERER_<span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#990000">curl_setopt</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#339933">,</span> CURLOPT_RETURNTRANSFER<span style="color:#339933">,</span> <span style="color:#cc66cc">1</span><span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#000088">$r</span> <span style="color:#339933">=</span> <span style="color:#990000">curl_exec</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#990000">curl_close</span><span style="color:#009900">(</span><span style="color:#000088">$ch</span><span style="color:#009900">)</span><span style="color:#339933">;</span>
   <span style="color:#b1b100">return</span> <span style="color:#000088">$r</span><span style="color:#339933">;</span>
 <span style="color:#009900">}</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效率及穩定性的分析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩我不卡 | 午夜综合 | 日本一区二区三区四区公司 | 97人人模人人揉人人捏 | 国产在线视频在线 | 婷婷色激情 | 色爱综合网 | 婷婷综合网站 | 欧美中文字幕一二三四区 | 色视频在线免费观看 | 日韩在线精品视频 | 久久久久久夜精品精品免费啦 | 色哟哟高清视频在线观看 | 韩国美女一级片 | 久色 | 亚洲人成77777在线观看网 | 亚洲成人伊人网 | 亚洲美女色视频 | 日本欧美一区二区三区视频 | 在线激情视频 | 九九久久精品视频 | 成人午夜精品视频在线观看 | 亚洲欧美人妖另类激情综合区 | 日韩a无v码在线播放免费 | 女的毛片毛片毛毛片毛毛毛毛片 | 国产福利在线视频 | 日韩激情文学 | 91九色精品国产 | 国产免费一区2区3区4区 | 女人夜色黄网在线观看 | 美女黄在线观看 | 亚洲一二三区久久五月天婷婷 | 精品免费视频 | 国产精品极品美女自在线看免费一区二区 | 国产精品视频全国免费观看 | 综合久久久久 | 五月婷花 | 国产成人激情 | 美女一级免费毛片 | 大胸国产精品视频 | 亚洲香蕉久久综合网 |