CURL是利用URL語法在命令行方式下工作的開源文件傳輸工具。

PHP通過默認支持CURL擴展庫,可以實現(xiàn)開發(fā)中常見的傳輸功能:
實現(xiàn)遠程獲取和采集內(nèi)容
實現(xiàn)PHP網(wǎng)頁版的FTP上傳和下載
實現(xiàn)模擬登陸,例如一個郵件系統(tǒng),CURL可以模擬Cookies
實現(xiàn)接口對接(API)、數(shù)據(jù)傳輸,例如微信公眾平臺的開放接口訪問
實現(xiàn)模擬Cookie等,登錄狀態(tài)下才可以操作的一些屬性
PHP的CURL功能擴展模塊提供了很多函數(shù),但在所有不走之前要先通過curl_int()創(chuàng)建一個新的CURL會話
$ch = curl_init(); //創(chuàng)建curl資源現(xiàn)在已成功創(chuàng)建一個curl會話,下一步傳遞一個URL給curl_setopt()
curl_septopt($ch,CURLOPT_URL,"mysens.blog.51cto.com"); //設(shè)置URL通過前兩步我們的準備工作就完成了,接下來就是獲取URL站點內(nèi)容并打印出來
curl_exec($ch); //執(zhí)行,獲取URL內(nèi)容并輸出最后關(guān)閉CURL會話,釋放資源
curl_close($ch); //釋放資源這樣就完成了一次簡單curl會話。
如果我們需要獲取內(nèi)容但不輸出,我們可以加入以下代碼控制
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); //任何一個非0或true值都行當然CURL也有自己的檢查錯誤語句
if(curl_exec($ch) === false){ echo "cURL Error: ".curl_error($ch); //打印錯誤 }一個完整的request代碼如下
function request($url,$output = true){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,$output); $res = curl_exec($ch); if($res === false){ trigger_error("cURL Error: ".curl_error($ch)); } curl_close($ch); return $res; }在手冊中查看curl_setopt()的更多設(shè)置
http://php.net/manual/zh/function.curl-setopt.php
----------------------------
下面是幾個常用功能的簡單說明
上傳文件
2.模擬登陸
//首先我們需要一個儲存cookie的文件地址$cookie=dirname(_FILE_).'/cookie.txt //接著模擬登陸,需要一個包含用戶名及密碼的$post=array('usrname'=>mysens,'password'=>123456) curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt($ch, CURLOPT_POST,true); curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post)); //登陸完成后,獲取我們需要的頁面信息 curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie);3.HTTP認證
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt(CURLOPT_USERPWD, '[username]:[password]')4.代理服務(wù)器
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXY, 'proxy.com:1080'); curl_setopt($ch, CURLOPT_PROXYUSERPWD, '[username]:[password]');5.設(shè)置SSL
//不進行SSL認證 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //只信任CA頒布的證書 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_CAINFO, $cacert); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); //信任任何證書 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);cURL有這么多功能,下次用到URL請求時一定要想起cURL庫噢
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當前題目:php中的CURL庫-創(chuàng)新互聯(lián)
文章分享:http://chinadenli.net/article42/shshc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站營銷、電子商務(wù)、動態(tài)網(wǎng)站、服務(wù)器托管、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容