cURL的基本原理
curl是利用URL語法在命令行方式下工作的開源文件傳輸工具,他能夠從互聯網上獲得各種各樣的網絡資源。簡單來說,curl就是抓取頁面的升級版。
<?php //1.初始化,創建一個新cURL資源 $ch = curl_init(); //2.設置URL和相應的選項 curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com/"); curl_setopt($ch, CURLOPT_HEADER, 0); //3.抓取URL並把它傳遞給瀏覽器 curl_exec($ch); //4.關閉cURL資源,並且釋放系統資源 curl_close($ch); ?>
cURL爬取頁面之爬取網頁信息並替換
<?php $curlobj = curl_init(); // 初始化 curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com"); // 設置訪問網頁的URL curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true); // 執行之后不直接打印出來 $output=curl_exec($curlobj); // 執行 curl_close($curlobj); // 關閉cURL echo str_replace("百度","php",$output); ?>
cURL爬取頁面之獲取天氣
<?php header("Content-Type:text/html; charset=utf-8"); $data = 'theCityName=北京'; $curlobj = curl_init(); curl_setopt($curlobj, CURLOPT_URL, "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"); curl_setopt($curlobj, CURLOPT_USERAGENT, "user-agent:Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0"); curl_setopt($curlobj, CURLOPT_HEADER, 0); //啟用時會將頭文件的信息作為數據流輸出。這里不啟用 curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); //如果成功只將結果返回,不自動輸出任何內容。如果失敗返回FALSE curl_setopt($curlobj, CURLOPT_POST, 1); //如果你想PHP去做一個正規的HTTP POST,設置這個選項為一個非零值。這個POST是普通的 application/x-www-from-urlencoded 類型,多數被HTML表單使用。 curl_setopt($curlobj, CURLOPT_POSTFIELDS, $data); //需要POST的數據 curl_setopt($curlobj, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=utf-8", "Content-length: ".strlen($data))); $rtn = curl_exec($curlobj); if(!curl_errno($curlobj)){ // $info = curl_getinfo($curlobj); // print_r($info); echo $rtn; } else { echo 'Curl error: ' . curl_error($curlobj); } curl_close($curlobj); ?>
$data用於填寫位置。
后面的網址是開放的接口.