PHP擴充CURL的用法詳解_PHP教程

來源:互聯網
上載者:User
實現的功能:

1、實現遠程擷取和採集內容

2、實現PHP 網頁版的FTP上傳下載

3、實現類比登陸:去一個郵件系統,curl可以類比cookies

4、實現介面對接(API),資料轉送等:通過一個平台傳送簡訊啊,抓取和傳遞所傳輸的資訊。

5、實現類比Cookie等:登陸的狀態下才可以操作一些屬性。

如何使用CURL功能

預設情況加PHP是不支援CURL的,需要在php.ini中開啟該功能

;extension=php_curl.dll前面的分號去掉

1 整個操作過程中第一步是用cur_init()函數進行初始化

$curl = curl_init(‘www.jb51.net')

2.用curl_setopt()函數進行設定選項。

3.設定後,進行執行事務 curl_exec($curl);

4 最後關閉curl_close();

使用PHP CURL實現傳輸和擷取功能(post傳輸方式):擷取遠程網頁資料

$user = "admin";$pass = "admin";$curlPost = "user=$user&pass=$pass";$ch = curl_init(); //初始化一個CURL對象curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");//設定你所需要抓取的URLcurl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//設定curl參數,要求結果是否輸出到螢幕上,為true的時候是不返回到網頁中假設上面的0換成1的話,那麼接下來的$data就需要echo一下。curl_setopt($ch, CURLOPT_POST, 1);//post提交curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);//運行curl,請求網頁。curl_close($ch);[/code]

實現遠程類比登陸最基礎部分。

curl也還是需要配置使用者名稱和密碼的,只不過是被瀏覽器隱藏了。

============================================================================

curl類比登陸

類比登陸:就是不登陸到php100的論壇,也能查看到相應的資訊。

分析登陸欄位--->登陸後保留cookie狀-->讀取cookie並跳轉到相關頁-->抓取數

1、類比登陸後建立一個檔案儲存cookie內容

2、通過讀取產生的cookie內容類比使用者登陸狀態

3、到相關頁面擷取所需內容

tempname建立一個臨時檔案

tempnam() 函數建立一個具有唯一檔案名的臨時檔案。 若成功,則該函數返回新的臨時檔案名稱。若失敗,則返回 false。

tempnam(dir,prefix)

參數 描述

dir 必需。規定建立臨時檔案的目錄。

prefix 必需。規定檔案名稱的開頭。

相當於,fopen  fwirte  fclose

它可以返回一個布爾值。使用第三方來登陸你的QQ、msn是很危險的,因為它可以記錄你的登入狀態,抓取你的使用者名稱和密碼。

使用CURL類比登陸到PHP100論壇

1、分析登陸所需input框欄位名和所需欄位數量

2、儲存cookie 類比登陸後擷取會員金幣數量

代碼:

//初始化一個 cURL 對象$curl = curl_init();//設定你需要抓取的URLcurl_setopt($curl, CURLOPT_URL, " http://www.baidu.com ");//設定cURL 參數,要求結果儲存到字串中還是輸出到螢幕上。curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//運行cURL,請求網頁$data = curl_exec($curl);//關閉URL請求curl_close($curl);$user = "admin";$pass = "admin100";$curlPost = "user=$user&pass=$pass";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, " http://localhost/curl/login.php ");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);$data = curl_exec($ch);curl_close($ch);?>if($_POST['user']=="admin"){ echo "";}else{ echo "";}//print_r($_POST);?>

http://www.bkjia.com/PHPjc/825427.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/825427.htmlTechArticle實現的功能: 1、實現遠程擷取和採集內容 2、實現PHP 網頁版的FTP上傳下載 3、實現類比登陸:去一個郵件系統,curl可以類比cookies 4、實現...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.