php curl 採集

curl 採集五個步驟:php

1.curl_init()初始化curl
2.curl_setopt()設置傳輸數據和參數
3.curl_exec()執行傳輸並獲取返回數據
4.curl_errono()返回錯誤碼
5.curl_close()關閉curljson

 

 get 方式:cookie

$curl = curl_init();

$url='http://www.baidu.com';

//設置請求url

curl_setopt($curl, CURLOPT_URL,$url );

//是否將頭文件輸出

curl_setopt($curl, CURLOPT_HRADER,TRUE );

// 設置cURL 參數,要求結果保存到字符串中仍是輸出到屏幕上。

curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE );

// 運行cURL,請求網頁

$data = curl_exec($curl);

// 關閉URL請求
curl_close($curl);

 

post方式:curl

 

$cookie_file = dirname(__FILE__) . '/cookie.txt';   
        $url = 'http://manage.wxpro.loc/admin/login';
        $get_url = 'http://manage.wxpro.loc/';
        $post_data = array('username'=>'username','password'=>'password');
        //初始化一個curl對象
        $curl = curl_init();
        //設置你須要抓取的 url
        curl_setopt($curl,CURLOPT_URL,$url);
        //設置crul參數,要求結果保存到字符串中仍是輸出到屏幕上
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true );
        //post數據
        curl_setopt($curl,CURLOPT_POST,1);
        //post變量
        curl_setopt($curl,CURLOPT_POSTFIELDS,$post_data);
        //存儲cookie
        curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);  
        //運行curl,請求網頁
        $data = (array)json_decode(curl_exec($curl));
        //關閉url請求
        curl_close($curl);


        if($data['error'] ==0){
            //帶着上面獲得的COOKIE獲取須要登陸後才能查看的頁面內容   
            $ch = curl_init($get_url);   
            curl_setopt($ch, CURLOPT_HEADER, 1);   
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
            curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);   
            $contents = curl_exec($ch);   
            curl_close($ch);   

            var_dump($contents);
        }

 

curl_setopt 參數解釋:post

1.CURLOPT_URL                            須要獲取的 URL 地址,也能夠在curl_init() 初始化會話的時候。url

2.CURLOPT_HEADER                      TRUE 啓用時會將頭文件的信息做爲數據流輸出。FALSE 不會輸出
spa

3.CURLOPT_RETURNTRANSFER       TRUEcurl_exec()獲取的信息以字符串返回,而不是直接輸出。false 直接輸出 .net

4.CURLOPT_COOKIEJAR       調用curl_close後,保存 cookie信息的條件code

5.CURLOPT_COOKIEFILE      包含 cookie 數據的文件名,cookie 文件的格式能夠是 Netscape 格式,或者只是純 HTTP 頭部風格,存入文件。若是文件名是空的,不會加載 cookie,但 cookie 的處理仍舊啓用。對象

相關文章
相關標籤/搜索