、什麼是CURL且能實現什麼功能? 什麼是CURL curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, HTTP上傳, 代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳等等,功能十分強大。 PHP中常用都實現那些功能: 1、實現遠程獲取和采集內容 2、實現PHP 網頁版的FTP上傳下載 3、實現模擬登陸 4、實現接口對接(API),數據傳輸等 5、實現模擬Cookie等 2、PHP 如何使用CURL功能 1 整個操作過程中第一步是用cur_init()函數進行初始化 $curl = curl_init(‘www.php100.com’); 2 然後,用curl_setopt()函數進行設置選項。 3 設置後,進行執行事務 curl_exec($curl); 4 最後關閉curl_close(); 3、使用PHP CURL實現傳輸和獲取功能 $curl = curl_init(); //初始化一個 cURL 對象 curl_setopt($curl, CURLOPT_URL, "http://www.php100.com"); //設置你需要抓取的URL curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上。 $data = curl_exec($curl); //運行cURL,請求網頁 curl_close($curl); //關閉URL請求 =========== $user = "admin"; $pass = "admin100"; $curlPost = "user=$user&pass=$pass"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/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); 1、CURL模擬登陸的流程和步驟 2、tempnam 創建一個臨時文件 3、使用CURL模擬登陸到bkJia論壇 <?php $cookie_file = tempnam('./temp','cookie'); $login_url = 'http://bbs.php100.com/login.php'; $post_fields = 'cktime=31536000&step=2&pwuser=php100-88&pwpwd=111111'; $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_exec($ch); curl_close($ch); $url='http://bbs.php100.com/userpay.php'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); $contents = curl_exec($ch); preg_match("/<li>?????(.*)<\/li>/",$contents,$arr); echo $arr[1]; curl_close($ch); ?>