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

首頁 > 語言 > PHP > 正文

php file_get_contents與curl()函數對比

2024-09-04 11:48:10
字體:
來源:轉載
供稿:網友

在php中file_get_contents與curl()函數都可以用來抓取對方網站的數據并保存到本地服務器中,但是總得來講file_get_contents()效率稍低些,常用失敗的情況、curl()效率挺高的,支持多線程,不過需要開啟下curl擴展,也就是說要使用curl函數就必須要打開curl擴展了,而file_get_contents函數系統是默認的。

下面是curl擴展開啟的步驟

1、將PHP文件夾下的三個文件php_curl.dll,libeay32.dll,ssleay32.dll復制到system32下; 

2、將php.ini(c:WINDOWS目錄下)中的;extension=php_curl.dll中的分號去掉;

3、重啟apache或者IIS。

我們先來看看兩個函數的簡單實例.

curl()函數,代碼如下:

  1. $ch = curl_init("http://www.49028c.com/"); 
  2. curl_exec($ch); 
  3. curl_close($ch); 
  4. //$ch = curl_init("要采集的網址");  curl_init()函數的作用初始化一個curl會話 
  5. //curl_exec($ch);執行$ch 
  6. //curl_close($ch); 關閉$ch 

file_get_contents函數,代碼如下:

  1. <?php 
  2. echo file_get_contents("http://www.49028c.com"); 
  3. ?> 
  4. //輸出:This is a test file with test text. 

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

file_get_contents與curl效率及穩定性問題,代碼如下:

  1. $config['context'] = stream_context_create(array('http' => array('method' => "GET",'timeout' => 5)));   
  2. 'timeout' => 5 

這個超時時間不穩定,經常不好使,這時候,看一下服務器的連接池,會發現一堆類似下面的錯誤,讓你頭疼萬分,代碼如下:

file_get_contents(http://***): failed to open stream… 

不得已,安裝了curl庫,寫了一個函數替換,代碼如下:

  1. function curl_get_contents($url)    
  2. {    
  3.    $ch = curl_init();    
  4.    curl_setopt($ch, CURLOPT_URL, $url);            //設置訪問的url地址    
  5.    //curl_setopt($ch,CURLOPT_HEADER,1);            //是否顯示頭部信息   
  6.    curl_setopt($ch, CURLOPT_TIMEOUT, 5);           //設置超時    
  7.    curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);   //用戶訪問代理 User-Agent    
  8.    curl_setopt($ch, CURLOPT_REFERER,_REFERER_);        //設置 referer    
  9.     curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);      //跟蹤301    
  10.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);        //返回結果    
  11.     $r = curl_exec($ch);    
  12.     curl_close($ch);    
  13.     return $r;    
  14. }  

如此,除了真正的網絡問題外,沒再出現任何問題,這是別人做過的關于curl和file_get_contents的測試,file_get_contents抓取google.com需用秒數,代碼如下:

1.2.31319094   

2.2.30374217   

3.2.21512604   

4.3.30553889   

5.2.30124092 

curl使用的時間:

1.0.68719101   

2.0.64675593   

3.0.64326   

4.0.81983113

5.0.63956594

那么如何根據服務器情況來使用file_get_contents還是curl()呢,下面我們可以利用function_exists函數來判斷php是否支持一個函數可以輕松寫出下面函數,代碼如下:

  1. <?php  
  2.  function vita_get_url_content($url) {  
  3.  if(function_exists('file_get_contents')) {  
  4.  $file_contents = file_get_contents($url);  
  5.  } else {  
  6.  $ch = curl_init();  
  7.  $timeout = 5;   
  8.  curl_setopt ($ch, CURLOPT_URL, $url);  
  9.  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);   
  10.  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
  11.  $file_contents = curl_exec($ch);  
  12.  curl_close($ch);  
  13.  }  
  14.  return $file_contents;  
  15.  }  
  16.  ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲理论片在线观看| 黄色一区二区在线观看| 日韩av影片在线观看| 最近2019好看的中文字幕免费| 国产成人精品国内自产拍免费看| 97人人爽人人喊人人模波多| 伊人伊人伊人久久| 色黄久久久久久| 欧美性猛交xxxx富婆弯腰| 亚洲国产精品99久久| 成人日韩av在线| 91精品久久久久久综合乱菊| 17婷婷久久www| 97在线看免费观看视频在线观看| 国产精品96久久久久久又黄又硬| 色老头一区二区三区在线观看| 国产视频精品一区二区三区| 欧美日韩福利电影| 在线免费看av不卡| 欧美巨乳美女视频| 综合欧美国产视频二区| 国产精品网红福利| 国产97在线|日韩| 国产精品美女免费视频| 亚洲欧美中文字幕在线一区| 欧美大片在线看免费观看| 亚洲精品福利资源站| 日韩成人在线视频| 中文字幕亚洲一区| 欧美激情亚洲精品| 亚洲色图美腿丝袜| 成人免费看片视频| 欧美午夜xxx| 欧美激情综合亚洲一二区| 国产美女直播视频一区| 亚洲精品久久久久久久久久久| 米奇精品一区二区三区在线观看| 亚洲自拍小视频免费观看| 亚洲深夜福利在线| 日韩av大片免费看| 精品国产美女在线| 91av在线网站| 国产精品亚洲自拍| 国产精品网红直播| 国产精品v片在线观看不卡| 91av在线播放视频| 亚洲欧美日韩视频一区| 97在线观看免费| 国产97在线|日韩| 国产mv免费观看入口亚洲| 久久亚洲春色中文字幕| 国产精品国产三级国产aⅴ浪潮| 成人在线视频网| 久久久这里只有精品视频| 亚洲一区二区三区成人在线视频精品| 亚洲高清色综合| 欧美电影免费观看电视剧大全| 国产精品久久久久久久久借妻| 午夜精品一区二区三区在线视| 日韩黄色在线免费观看| 亚洲成年人在线播放| 欧美黑人一级爽快片淫片高清| 两个人的视频www国产精品| 久久久精品日本| 福利精品视频在线| 韩国精品美女www爽爽爽视频| 欧美精品在线视频观看| 91久久国产综合久久91精品网站| 一夜七次郎国产精品亚洲| 亚洲美女黄色片| 亚洲专区国产精品| 高清日韩电视剧大全免费播放在线观看| 成人激情视频在线播放| 自拍偷拍亚洲精品| 国产色视频一区| 国产精品美女视频网站| 国产成人aa精品一区在线播放| 欧美日韩国产影院| 疯狂做受xxxx欧美肥白少妇| 亚洲精品一区二区在线| 亚洲人成网站999久久久综合| 国产精品久久一区| 中日韩美女免费视频网址在线观看| 欧美猛交免费看| 亚洲大胆人体视频| 97高清免费视频| 亚洲精品大尺度| 欧美一级淫片aaaaaaa视频| 欧美中文在线免费| 日韩成人av在线| 国产精品99导航| 精品国内产的精品视频在线观看| 成人激情视频小说免费下载| 高清一区二区三区四区五区| 91国自产精品中文字幕亚洲| 欧美精品情趣视频| 日韩国产在线看| 欧美日韩亚洲国产一区| 亚洲国产精品国自产拍av秋霞| 98精品在线视频| 26uuu日韩精品一区二区| 国产精品久久久久影院日本| 欧美激情一区二区三区高清视频| 国产91色在线|免| 亚洲色图国产精品| 欧美一级视频在线观看| 亚洲一区久久久| 亚洲欧美日韩中文在线制服| 欧美视频在线视频| 日韩成人性视频| 精品国产美女在线| 久久国产精品亚洲| 亚洲欧美另类中文字幕| 亚洲xxx自由成熟| 国产欧美最新羞羞视频在线观看| 久久久久久久久国产精品| 91精品国产99久久久久久| 国产日韩欧美在线观看| 免费av一区二区| 美女国内精品自产拍在线播放| 久久久久久亚洲精品| 欧美巨猛xxxx猛交黑人97人| 九色91av视频| 久热精品视频在线| 亚洲精品久久久久中文字幕欢迎你| 97色在线观看| 亚洲福利视频在线| 日韩激情视频在线播放| 法国裸体一区二区| 亚洲最新视频在线| 久久九九全国免费精品观看| 国产成人久久久| 日韩高清不卡av| 亚洲福利视频网站| 成人av在线亚洲| 亚洲国产美女久久久久| 日韩欧美中文在线| 国模精品视频一区二区| 亚洲视频axxx| 日韩成人av在线播放| 国产精品视频一区二区三区四| 色999日韩欧美国产| 国产精品久久久久免费a∨大胸| 欧美在线激情网| 8x拔播拔播x8国产精品| 精品一区二区三区四区在线| 91高清视频在线免费观看| 国产一区二区三区久久精品| 九九热这里只有在线精品视| 日韩欧美在线字幕| 亚洲午夜国产成人av电影男同| 亚洲毛片在线看| 中文字幕av一区二区三区谷原希美| 欧美一区二区.| 91久久久久久久久久| 欧美性受xxxx白人性爽| 2018国产精品视频| 亚洲国产成人爱av在线播放| 在线观看精品自拍私拍| 国产成人在线亚洲欧美| 成人欧美一区二区三区黑人| 欧美国产日韩一区二区在线观看| 中文字幕亚洲在线| 最好看的2019的中文字幕视频|