curl 安裝 測評file get

2021-10-11 05:52:24 字數 1420 閱讀 8801

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

』timeout』 =< 5//這個超時時間不穩定,經常不奏效

這時候,看一下伺服器的連線池,會發現一堆類似的錯誤,讓你頭疼萬分:

不得已,安裝了curl庫,寫了乙個函式替換:

functioncurl_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

0.68719101

0.64675593

0.64326

0.81983113

0.63956594

差距很大吧?呵呵,從我使用的經驗來說,這兩個工具不只是速度有差異,穩定性也相差很大。建議對網路資料抓取穩定性要求比較高的朋友使用上面的curl_file_get_contents函式,不但穩定速度快,還能假冒瀏覽器欺騙目標位址哦!

特別要注意:php版本不同可能測試結果不同,在php5.2下 file_get_contents函式效率特別低,容易出現占用cpu過高的情況,建議公升級到php5.3,經測試在php5.3下沒有該問題

PHP安裝curl擴充套件

昨天在寫文章的時候,突然出現了乙個很頑皮的bug。一直跳到404頁面?於是我趕緊開啟debug,看看什麼情況!彈出的錯誤是 call to undefined function home controller curl init 原來是 curl 擴充套件沒有裝.來記錄一下安裝過程吧 原始碼包列表 ...

linux 系統安裝 curl

apk get curl試了下面的方案,不知道是不是因為 docker 容器裡的映象的問題。導致失敗。wget2.解壓到當前目錄 tar zxvf curl 7.65.3.tar.gz3.進入解壓後的目錄內 cd curl 7.65.34.配置,指定安裝的目錄,這裡是 usr local curl ...

Linux環境安裝curl

wget tar zxf curl 7.20.0.tar.gz cd curl 7.17.1 configure prefix usr local curl make sudo make install2.環境配置 將curl命令加入環境變數,命令列裡執行 僅對本會話起作用,或者在.bash pro...