3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
curl算是寫蜘蛛必備的東西,可以很快速的去取得各項資訊 在php中使用curl並不難, 以GET來說,直接把參數填在URL即可 //init curl $ch = curl_init(); //curl_setopt可以設定curl參數 //設定url curl_setopt($ch , CURLOPT_URL , "http://www.test.com.tw?name=johnson"); //設定AGENT curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot"); //執行,並將結果存回 $result = curl_exec($ch); //關閉連線 curl_close($ch); 若是要使用POST則必需開啟post參數 //init curl $ch = curl_init(); //curl_setopt可以設定curl參數 //設定url curl_setopt($ch , CURLOPT_URL , "http://www.test.com.tw"); //設定header curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/x-www-form-urlencoded')); //啟用POST curl_setopt($ch, CURLOPT_POST, true); //傳入POST參數 curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( array( "name"=>"johnson") )); //執行,並將結果存回 $result = curl_exec($ch); //關閉連線 curl_close($ch); 利用curl下載檔案: //設定路徑 $path = "/home/johnson4932/code/work.doc"; $ch = curl_init(); //CURLOPT_RETURNTRANSFER為true的話,curl只會將結果傳回,並不會輸出在畫面上 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch , CURLOPT_URL , "http://www.test.com.tw/files/stuwork.doc"); $result = curl_exec($ch); curl_close($ch); //利用file_put_contents將檔案的資料存到設定的路徑及檔案之中 file_put_contents($path, $result); /************* 或者直接寫入檔案之中 *************/ $ch = curl_init(); curl_setopt($ch , CURLOPT_URL , "http://www.test.com"); //開啟檔案 $fp = fopen("example_file", "w"); //CURLOPT_FILE設為開啟的檔案 curl_setopt($ch, CURLOPT_FILE, $fp); //執行,直接寫入檔案 curl_exec($ch); 顯示Header資訊(含目地端的資料) $ch = curl_init(); //顯示Http Header資訊 curl_setopt($ch , CURLOPT_HEADER, true); curl_setopt($ch , CURLOPT_URL , "http://www.test.com.tw"); $result = curl_exec($ch); curl_close($ch); 只顯示Header資訊 $ch = curl_init(); //顯示Http Header資訊 curl_setopt($ch , CURLOPT_HEADER, true); //不要顯示目地端的資料 curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch , CURLOPT_URL , "http://www.test.com.tw"); $result = curl_exec($ch); curl_close($ch); 利用curl_setopt_array()一次處理 $ch = curl_init(); $options = array(CURLOPT_URL => "http://test.com", CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query( array( "name"=>"johnson")) ); curl_setopt_array($ch,$options); $result = curl_exec($ch); curl_close($ch); curl上傳檔案 $path = realpath('./fallzu.jpg'); $post = array('name' => 'JohnsonLu','file_contents'=>'@'.$path); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"UPLOAD_URL"); curl_setopt($ch, CURLOPT_POST, true); //這裡不需要使用http_build_query curl_setopt($ch, CURLOPT_POSTFIELDS, $post); $result = curl_exec ($ch); curl_close ($ch); curl使用cookie //cookie存放路徑 $ckfile = "/tmp/cookie_file"; //利用CURLOPT_COOKIEJAR參數存放cookie $ch = curl_init ("http://www.test.com.tw"); curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile); $output = curl_exec ($ch); //利用CURLOPT_COOKIEFILE取得cookie $ch = curl_init ("http://www.test.com.tw"); curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile); $output = curl_exec ($ch); 注意:從A.php利用curl去執行B.php所產生的session是不相同的(A和B互相抓不到session) curl取得https網站內容 $ch = curl_init ("https://www.test.com.tw"); //信任認為認證 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //加入User Agent 模擬browser行為 curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0"); $output = curl_exec ($ch); curl常用option $options = array( CURLOPT_URL => $url, //網址 CURLOPT_POST => true, //開啟POST CURLOPT_POSTFIELDS => http_build_query($params), //POST參數 CURLOPT_FOLLOWLOCATION => true, //是否要抓取轉址 CURLOPT_RETURNTRANSFER => true, //只傳回結果,不輸出在畫面上 CURLOPT_HEADER => true, //顯示HEADER資訊 CURLOPT_USERAGENT => "Google Bot", //設定AGENT CURLOPT_FILE => fopen("file","w"), //設定檔案(將結果輸入到檔案之中) CURLOPT_NOBODY => true, //不要顯示目的端資料 ); Categories: PHP 分類 Android AngularJS API Blueprint Chrome Database MySQL DataStructure Docker Editor Vim Firefox Git GitLab Google API Hadoop HTTP Language Go Java JavaScript jQuery jQueryChart Node.js Vue Vue-CLI PHP Laravel Lumen ZendFramework Python Mac Network Cisco DLink Juniper Oauth Server Apache Share Unix FreeBSD Linux WebDesign Bootstrap CSS HTML Wordpress Search 搜尋關鍵字:

本文由blogjohnsonluorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦