亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP fopen-file_get_contents與curl性能比較

2020-03-22 17:42:59
字體:
來源:轉載
供稿:網友
PHP中fopen,file_get_contents,curl 函數的區別:

1.fopen/file_get_contents 每次請求都會重新做 DNS 查詢,并不對 DNS 信息進行緩存。

但是 CURL 會自動對 DNS 信息進行緩存。對同一域名下的網頁或者圖片的請求只需要一次 DNS 查詢。這大大減少了 DNS 查詢的次數。所以 CURL 的性能比 fopen /file_get_contents 好很多。

2.fopen/file_get_contents 在請求 HTTP 時,使用的是 http_fopen_wrapper,不會 keeplive。

而 curl 卻可以。這樣在多次請求多個鏈接時,curl 效率會好一些。

3.fopen/file_get_contents 函數會受到 php.ini 文件中 allow_url_open 選項配置的影響。

如果該配置關閉了,則該函數也就失效了。而 curl 不受該配置的影響。

4.curl 可以模擬多種請求,例如:POST 數據,表單提交等,用戶可以按照自己的需求來定制請求。

而 fopen /file_get_contents 只能使用 get 方式獲取數據。

file_get_contents 獲取遠程文件時會把結果都存在一個字符串中 fiels 函數則會儲存成數組形式

因此,我還是比較傾向于使用 curl 來訪問遠程 url。Php 有 curl 模塊擴展,功能很是強大。

說了半天大家可能說性能怎么沒對比呢,那我們就來看看

#最近需要獲取別人網站上的音樂數據。用了file_get_contents函數,但是總是會遇到獲取失敗的問題,盡管按照手冊中的 例子設置了超時,可多數時候不會奏效:$config['context'] = stream_context_create(array(‘http’ => array(‘method’ => “GET”,   ’timeout’ => 5//這個超時時間不穩定,經常不奏效   )  ));#這時候,看一下服務器的連接池,會發現一堆類似的錯誤,讓我頭疼萬分:file_get_contents(https://***): failed to open stream…#現在改用了curl庫,寫了一個函數替換:function curl_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.313190942.303742172.215126043.305538892.30124092

curl 使用的時間:

0.687191010.646755930.643260.819831130.63956594

差距很大?

呵呵,從我使用的經驗來說,這兩個工具不只是速度有差異,穩定性也相差很大。

建議對網絡數據抓取穩定性要求比較高的朋友使用上面的 curl_file_get_contents 函數,不但穩定速度快,還能假冒瀏覽器欺騙目標地址哦

再看一個實例

后續貼出了 curl 和 file_get_contents 的對比結果,這邊除了 curl 與 file_get_contents 的性能對比,還包含了他們的性能對比,講之前看下如下的結果圖:

curl 與 file_get_contents 性能對比 PHP 源代碼如下:

<?php /** * 通過淘寶IP接口獲取IP地理位置 * @param string $ip * @return: string **/function getCityCurl($ip) {     $url="https://ip.taobao.com/service/getIpInfo.php?ip=".$ip;     $ch = curl_init();     $timeout = 5;     curl_setopt ($ch, CURLOPT_URL, $url);     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);     curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);     $file_contents = curl_exec($ch);     curl_close($ch);     $ipinfo=json_decode($file_contents);     if($ipinfo->code=='1'){         return false;     }     $city = $ipinfo->data->region.$ipinfo->data->city;     return $city; } function getCity($ip) {     $url="https://ip.taobao.com/service/getIpInfo.php?ip=".$ip;     $ipinfo=json_decode(file_get_contents($url));     if($ipinfo->code=='1'){         return false;     }     $city = $ipinfo->data->region.$ipinfo->data->city;     return $city; } // for file_get_contents $startTime=explode(' ',microtime()); $startTime=$startTime[0] + $startTime[1]; for($i=1;$i<=10;$i++) {    echo getCity("121.207.247.202")."</br>"; } $endTime = explode(' ',microtime()); $endTime = $endTime[0] + $endTime[1]; $totalTime = $endTime - $startTime; echo 'file_get_contents:'.number_format($totalTime, 10, '.', "")." seconds</br>"; //for curl $startTime2=explode(' ',microtime()); $startTime2=$startTime2[0] + $startTime2[1]; for($i=1;$i<=10;$i++) {    echo getCityCurl('121.207.247.202')."</br>"; } $endTime2 = explode(' ',microtime()); $endTime2=$endTime2[0] + $endTime2[1]; $totalTime2 = $endTime2 - $startTime2; echo "curl:".number_format($totalTime2, 10, '.', "")." seconds"; ?>

file_get_contents 速度:4.2404510975 seconds

curl 速度:2.8205530643 seconds

curl 比 file_get_contents 速度快了 30% 左右,最重要的是服務器負載更低.

總結

file_get_contents 處理頻繁小的時候,用它感覺挺好的。沒什么異常。如果你的文件被 1k + 人處理。那么你的服務器 cpu 就等著高升吧。所以建議自己和大家在以后寫 php 代碼的時候使用 curl 庫。

以上就是PHP fopen/file_get_contents與curl性能比較的詳細內容,更多請關注 其它相關文章!

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产欧美亚洲人人爽| 日韩精品极品在线观看播放免费视频| 欧美伊久线香蕉线新在线| 日韩视频永久免费观看| 亚洲欧美精品中文字幕在线| 欧美极品少妇与黑人| 久久精品一区中文字幕| 欧美日韩xxxxx| 欧美乱大交xxxxx| 日韩高清有码在线| 九九精品在线观看| 成人黄色av网站| 最近2019好看的中文字幕免费| 国产亚洲精品久久久| 久久精品国产91精品亚洲| 国产精品美女久久久免费| 欧美成人一区二区三区电影| 国产v综合v亚洲欧美久久| 成人黄色免费片| 91沈先生作品| 在线日韩中文字幕| 777午夜精品福利在线观看| 中文字幕欧美在线| 中文字幕日韩在线观看| 国产精品久久久亚洲| 久久久欧美一区二区| 久久精品久久久久久| 日韩在线国产精品| 国产亚洲精品一区二555| 精品视频在线播放色网色视频| 国产一区二区美女视频| 国产欧美日韩中文字幕在线| 亚洲第一在线视频| 色与欲影视天天看综合网| 日韩在线免费视频观看| 欧美激情videos| 蜜月aⅴ免费一区二区三区| 亚洲欧美国产一区二区三区| 欧美俄罗斯乱妇| 国产成人精品一区| 久久成人国产精品| 国产97在线视频| 九九视频直播综合网| 亚洲一区二区自拍| 国内精品久久久久影院优| 中文字幕国产亚洲2019| 欧美性猛交xxxx免费看漫画| 成人亚洲激情网| 45www国产精品网站| 在线国产精品视频| 久久久精品影院| 91精品国产99久久久久久| 欧美激情视频一区| 2021久久精品国产99国产精品| 亚洲日本中文字幕免费在线不卡| 日本在线观看天堂男亚洲| 久久综合久久88| 狠狠色狠色综合曰曰| 午夜精品在线视频| 国内外成人免费激情在线视频| 亚洲午夜久久久影院| 国产精品影片在线观看| 国产美女精品免费电影| 亚洲精品一区在线观看香蕉| 成人午夜黄色影院| 亚洲第一级黄色片| 久久视频国产精品免费视频在线| 97超级碰碰人国产在线观看| 精品视频在线播放色网色视频| 最近2019中文字幕mv免费看| 亚洲乱亚洲乱妇无码| 欧美精品激情在线| 久久久精品国产| 日韩免费在线视频| 亚洲香蕉av在线一区二区三区| 综合网日日天干夜夜久久| 日韩电影中文字幕一区| 中文字幕最新精品| 欧美午夜xxx| 亚洲最新av在线网站| 久久成人精品一区二区三区| 亚洲视频在线观看免费| 97久久久久久| 国产精品永久免费观看| 亚洲国产成人91精品| 亚洲jizzjizz日本少妇| 久久大大胆人体| 日韩中文第一页| 久久精品人人做人人爽| 欧美激情久久久久久| 日韩av免费在线看| 伊人久久精品视频| 成人亚洲欧美一区二区三区| 成人午夜一级二级三级| 亚洲成人久久久久| 狠狠干狠狠久久| 午夜精品在线视频| 亚洲国产精品系列| 日韩有码片在线观看| 麻豆一区二区在线观看| 欧美成人精品三级在线观看| 92看片淫黄大片欧美看国产片| 亚洲最大福利网| 亚洲成人1234| 日韩暖暖在线视频| 成人伊人精品色xxxx视频| 亚洲国产欧美一区二区三区同亚洲| 另类天堂视频在线观看| 国产精品日日摸夜夜添夜夜av| 精品视频在线导航| 欧美人与性动交a欧美精品| 91性高湖久久久久久久久_久久99| 久久天天躁狠狠躁夜夜躁2014| 欧美激情一区二区三级高清视频| 美女999久久久精品视频| 亚洲国产日韩欧美综合久久| 欧美日韩午夜视频在线观看| 国产女人18毛片水18精品| 色婷婷久久av| 日韩电影大全免费观看2023年上| 91伊人影院在线播放| 欧美性高潮在线| 精品国产福利视频| 日本老师69xxx| 欧美一级大片视频| 欧美激情a∨在线视频播放| 国产精品精品视频一区二区三区| 日韩精品一区二区三区第95| 日韩av电影国产| 一本一道久久a久久精品逆3p| 日韩中文字幕av| 欧美国产视频日韩| 日本精品视频在线播放| 91免费看视频.| 91精品国产99久久久久久| 国产精品国产三级国产aⅴ浪潮| 亚洲自拍偷拍在线| 成人免费看黄网站| 国产一区二区视频在线观看| 亚洲аv电影天堂网| 中文字幕综合在线| 91精品国产91久久久| 中文在线资源观看视频网站免费不卡| www.欧美免费| 日韩乱码在线视频| 97国产精品视频| 亚洲欧美日韩一区二区三区在线| 亚洲成色www8888| 亚洲女性裸体视频| 欧美巨大黑人极品精男| 久久91亚洲精品中文字幕| 日韩av免费网站| 国产精品久久久久久久久借妻| 青青草一区二区| 亚洲福利在线播放| 亚洲欧美精品伊人久久| 青青在线视频一区二区三区| 国产精品91视频| 中文字幕亚洲在线| 国产狼人综合免费视频| 久久久欧美一区二区| 亚洲一级一级97网| 奇米四色中文综合久久| 日韩欧美黄色动漫|