php curl使用方法與步驟
本書特別新手的一點,是將重要操作的核心思路都為大家提供了。在資料庫、圖片、檔案上傳我們都把真正的步驟。以及步驟如何組何成為我們的程式碼和實作過程都做過講解。
我們將curl的步驟分成以下7步驟:
????1.初使化curl資源
????2.參數(shù)設定請求的協(xié)定位址
????3.參數(shù)設定是否回傳請求結果
????4.設定傳送資料(無傳送資料可不設定)
????5.其他的參數(shù)資訊設定(依實際運作需要決定)
????6.執(zhí)行或執(zhí)行得到返回結果
????7.關閉curl資源
我們?yōu)榱烁玫淖尨蠹覍W習和入門,將第2步至第5步本來應該歸為一步的插成了4個步驟。
第二步至第五步本質(zhì)上,應該統(tǒng)成為curl參數(shù)設定。
所有curl設定參數(shù)設定都是透過curl_setopt都完成
curl_setopt這一步最為重要,一切玄妙均在此。
curl_setopt這一步完成了包含連線、參數(shù)和一切請求的細節(jié)設定。要一次全部看完並理解可能比較困難,所以我們只試試那些更常用、更有用的選項。
我們?yōu)榱烁玫娜腴T。而在php中我們用的最多的是http請求。因此,我們將一些不需要大家使用到的全部不作講解。
如果有興趣的朋友可以參考curl_setopt中複雜的參數(shù)設定。
網(wǎng)址如下:http://php.net/manual/zh/function.curl-setopt.php
一、初使化curl資源
#這只有一句話,就是使用的是curl_init函數(shù)。這個參數(shù)法面要傳入任何參數(shù)。返回curl的操作資源。 因為,我們在後面是透過curl_setopt向curl的操作資源變數(shù)壓入資料的。 範例:$ch = curl_init();二、參數(shù)設定請求的協(xié)定位址
#類型 | 說明 |
函數(shù) |
CURLOPT_URL?這個參數(shù)選項規(guī)定了請求的url位址。
curl_setopt($ch, CURLOPT_URL, "http://ipnx.cn");
三、參數(shù)設定是否回傳請求結果
我們希望curl請求後回傳對應的結果。我們要得到對應的結果,也需要設定一個參數(shù),這個參數(shù)名為:CURLOPT_RETURNTRANSFER。
若需要傳回值即為1。不需請求後回傳的結果可設定為0。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
四、設定發(fā)送資料
#如果是get請求,我們不需要設定發(fā)送的參數(shù)。在post等請求的時候,我們需要設定發(fā)送方法為post方法。並設定發(fā)送的數(shù)據(jù)。
*CURLOPT_POST *值設為1是使用POST方法,0為不使用POST方法
CURLOPT_POSTFIELDS設定傳遞的資料
//聲明使用POST方式來進行發(fā)送 curl_setopt($ch, CURLOPT_POST, 1); //發(fā)送什么數(shù)據(jù)呢 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
#五、其他的參數(shù)資訊設定
如果是https有的時候我們需要忽略https的安全性憑證。
CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 兩個參數(shù)改為false即忽略了憑證。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
CURLOPT_HEADER這個參數(shù)又決定是是否處理http的頭訊息,我們不想接收處理的話可將這個值設為0。
curl_setopt($ch, CURLOPT_HEADER, 0);
此外,我們還可以設定請求的逾時時間,參數(shù)為:CURLOPT_TIMEOUT。
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
其他參數(shù)非常多,我們在之前講過,如果你想了解更多的內(nèi)容可以訪問:
地址如下:http://php.net/manual/zh/function.curl -setopt.php
六、執(zhí)行或執(zhí)行得到返回結果
我們第三步驟中,將CURLOPT_RETURNTRANSFER 參數(shù)中將值設為1。如果執(zhí)行的結果有數(shù)據(jù)。使用curl_exec執(zhí)行後,會將結果傳回$output變數(shù)。
$output = curl_exec($ch);
七、關閉curl資源
#關閉curl資源。因為資源類型,我們一再強調(diào)過,有開啟就有關閉。
如果不需要使用,使用curl_close關閉後立刻釋放記憶體。
curl_close($ch);
八丶將上面的組合在一起
#<?php //初始化 $ch = curl_init(); //設置選項,包括URL curl_setopt($ch, CURLOPT_URL, "http://ipnx.cn"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //執(zhí)行并獲取HTML文檔內(nèi)容 $output = curl_exec($ch); //釋放curl句柄 curl_close($ch); //打印獲得的數(shù)據(jù) print_r($output); ?>
##