1. 程式人生 > >get_file_content 和curl的比較,誰更好?

get_file_content 和curl的比較,誰更好?

最近在寫公司的抓取百度快照的時候,用到了這兩個函式 。

一開始用的是網上搜的獲取快照的程式碼,看了下思路就寫了get_file_content。

把邏輯寫完,開始用php  artisan console  開始跑,跑到幾十條資料,就開始停住,不過還好時不時的還會動一下,深感欣慰,雖然資料庫裡面幾萬條資料,算了下8個小時就能跑完了,就把命令放旁邊跑了,繼續幹別的事情。

結果跑到3820條時候,報了個錯誤。

file_get_contents(XXXXXXXXXXXXXXXXX) :fail to open stream:HTTP request failed!

同事紛紛猜測是不是百度遮蔽了伺服器IP 。

google了一下,在StackOverflow上看到別人說用curl。抱著試試看的心態換了curl 。

然後又跑了一下。

三個字。

起飛了。

後來統計了一下:

file_get_content   

 17:06   0-3820   15:48 78分鐘 0.02/min   1.13秒每條

curl 

17:20之後    改用curl 3820開始    17:37 7611       《7935》《8225》1min 300  0.2S每條  17:53 10000  6180 33     0.3S 

這差距,驚呆了好嗎。

搜了下原理:

主要是curl 會做dns快取 ,減少了dns查詢的開銷時間