在php中可以採集遠程頁面的函數有很多,如有file_get_contents(),fopen,file()這些函數都可採集遠程伺服器資料,但是要算效能curl最可,他支援支援多線程.
例
| 代碼如下 |
複製代碼 |
$curlPost = 'a=1&b=2';//類比POST資料 $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:0.0.0.0', 'CLIENT-IP:0.0.0.0')); //構造IP curl_setopt($ch, CURLOPT_REFERER, "http://www.bkjia.com/"); //構造來路 curl_setopt($ch,CURLOPT_URL, 'http://www.bkjia.com');//需要抓取的頁面路徑 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//post值 $file_contents = curl_exec($ch);//抓取的內容放在變數中 curl_close($ch) |
還有一種辦法就是使用file_get_contents() 遠程檔案擷取函數,用來擷取遠程頁面內容
注意事項
curl()效率挺高的,支援多線程,不過需要開啟下curl擴充。下面是curl擴充開啟的步驟:
1、將PHP檔案夾下的三個檔案php_curl.dll,libeay32.dll,ssleay32.dll複製到system32下;
2、將php.ini(c:WINDOWS目錄下)中的;extension=php_curl.dll中的分號去掉;
3、重啟apache或者IIS。
http://www.bkjia.com/PHPjc/445611.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445611.htmlTechArticle在php中可以採集遠程頁面的函數有很多,如有file_get_contents(),fopen,file()這些函數都可採集遠程伺服器資料,但是要算效能curl最可,他支援...