//1.初始化 $ch = curl_init(); //2.設置選項,包括URL curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //3.執行並獲取HTML文檔內容 $output = curl_exec($ch); //4.錯誤判斷 if ($output === FALSE){ echo 'cURL Error:'.curl_error($ch); } //5.返回cURL執行過程中相關信息(方便調試和查錯) $info = curl_getinfo($ch); curl_close($ch); echo $output;
cURL基本設置項
if (is_callable('curl_init')){ //1、初始化創建一個新cURL句柄 $ch = curl_init(); //2、設置cURL相關選項 curl_setopt($ch, CRULOPT_URL, 'https://www.xlyhw.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//設置curl_exec()獲取信息以字符流的形式返回 curl_setopt($ch, CURLOPT_REFERER, 'http://weibo.com/');//告訴www.xlyhw.com是weibo中的頁面通過點擊進入的 curl_setopt($ch, CURLOPT_HEADER, 1);//啟用時會將頭信息作為字符流輸出 curl_setopt($ch, CURLOPT_NOBODY, true);//排除頁面主題只返回頭信息與CURLOPT_HEADER同時使用 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);//跟隨head頭重定向去尋找頁面 curl_setopt($ch, CURLOPT_MAXREDIRS, 5);//跟隨重定向的次數為5次 $agent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.2.2';//echo $_SERVER[ 'HTTP_USER_AGENT' ] curl_setopt($ch, CURLOPT_USERAGENT, $agent);//使用用戶代理訪問xlyhw curl_setopt($ch, CURLOPT_TIMEOUT, 30);//抓取頁面的等待時間為30秒 $header_arr[] = 'Mime-version:1.0' ; $header_arr[] = 'Content-type:text/html;charset=utf-8' ; $header_arr[] = 'Accept-encoding:compress,gzip' ; curl_setopt($ch, CURLOPT_HTTPHEADER, $header_arr);//向目標服務器傳遞頭部信息 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//用戶https //使用post向目標站提交數據 curl_setopt($ch, CURLOPT_POST, true); $data = 'username=administrator&password=admin@admin.com';//定義post的數據字符串 curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_PORT, '8080');//目標站的端口 //3、抓取URL的HTML內容 $output = curl_exec($ch); //4、關閉cURL句柄 curl_close($ch); }else { }
利用curl獲取網絡圖片
/** * curl獲取網絡圖片保存到本地 */ $ch = curl_init();//初始化curl $fp = fopen('a.png','wb');//打開文件 curl_setopt($ch,CURLOPT_URL,'http://www.xlyhw.com/home/images/logo.png');//圖片url curl_setopt($ch,CURLOPT_FILE,$fp);//把圖片數據放進文件 curl_setopt($ch,CURLOPT_HEADER,0);//是否輸出頁面內容 curl_setopt($ch,CURLOPT_TIMEOUT,60);//執行的時間限制 curl_exec($ch); $info = curl_getinfo($ch); echo '<pre>'; print_r($info); echo '</pre>'; curl_close($ch); fclose($fp);