您好,登錄后才能下訂單哦!
如何在PHP中對CURL進行擴展?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
實現的功能:
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"); //設置你所需要抓取的URL curl_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(); //設置你需要抓取的URL curl_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); ?>
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。