php curl使用方法與步驟

本書特別新手的一點,是將重要操作的核心思路都為大家提供了。在資料庫、圖片、檔案上傳我們都把真正的步驟。以及步驟如何組何成為我們的程式碼和實作過程都做過講解。

我們將curl的步驟分成以下7步驟:

    1.初使化curl資源

    2.參數設定請求的協定位址

    3.參數設定是否回傳請求結果

    4.設定傳送資料(無傳送資料可不設定)

    5.其他的參數資訊設定(依實際運作需要決定)

    6.執行或執行得到返回結果

    7.關閉curl資源

我們為了更好的讓大家學習和入門,將第2步至第5步本來應該歸為一步的插成了4個步驟。

第二步至第五步本質上,應該統成為curl參數設定。

所有curl設定參數設定都是透過curl_setopt都完成

curl_setopt這一步最為重要,一切玄妙均在此。

curl_setopt這一步完成了包含連線、參數和一切請求的細節設定。要一次全部看完並理解可能比較困難,所以我們只試試那些更常用、更有用的選項。

我們為了更好的入門。而在php中我們用的最多的是http請求。因此,我們將一些不需要大家使用到的全部不作講解。

如果有興趣的朋友可以參考curl_setopt中複雜的參數設定。

網址如下:http://php.net/manual/zh/function.curl-setopt.php

一、初使化curl資源

#這只有一句話,就是使用的是curl_init函數。這個參數法面要傳入任何參數。返回curl的操作資源。

因為,我們在後面是透過curl_setopt向curl的操作資源變數壓入資料的。

範例:

$ch = curl_init();

二、參數設定請求的協定位址curl_setopt函數的詳細使用如下: #類型說明函數curl_setopt
#########參數1# #####curl資源變數############參數2######curl參數選項############參數3##### #curl參數值#############

CURLOPT_URL 這個參數選項規定了請求的url位址。

curl_setopt($ch, CURLOPT_URL, "http://www.php.cn");

三、參數設定是否回傳請求結果

我們希望curl請求後回傳對應的結果。我們要得到對應的結果,也需要設定一個參數,這個參數名為:CURLOPT_RETURNTRANSFER。

若需要傳回值即為1。不需請求後回傳的結果可設定為0。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

四、設定發送資料

#如果是get請求,我們不需要設定發送的參數。在post等請求的時候,我們需要設定發送方法為post方法。並設定發送的數據。

*CURLOPT_POST *值設為1是使用POST方法,0為不使用POST方法

CURLOPT_POSTFIELDS設定傳遞的資料

//声明使用POST方式来进行发送
    curl_setopt($ch, CURLOPT_POST, 1);
//发送什么数据呢
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

#五、其他的參數資訊設定

如果是https有的時候我們需要忽略https的安全性憑證。

CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 兩個參數改為false即忽略了憑證。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

CURLOPT_HEADER這個參數又決定是是否處理http的頭訊息,我們不想接收處理的話可將這個值設為0。

curl_setopt($ch, CURLOPT_HEADER, 0);

此外,我們還可以設定請求的逾時時間,參數為:CURLOPT_TIMEOUT。

curl_setopt($ch, CURLOPT_TIMEOUT, 10);

其他參數非常多,我們在之前講過,如果你想了解更多的內容可以訪問:
地址如下:http://php.net/manual/zh/function.curl -setopt.php

六、執行或執行得到返回結果

我們第三步驟中,將CURLOPT_RETURNTRANSFER 參數中將值設為1。如果執行的結果有數據。使用curl_exec執行後,會將結果傳回$output變數。

$output = curl_exec($ch);

七、關閉curl資源

#關閉curl資源。因為資源類型,我們一再強調過,有開啟就有關閉。

如果不需要使用,使用curl_close關閉後立刻釋放記憶體。

curl_close($ch);

八丶將上面的組合在一起

#
<?php
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.php.cn");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
print_r($output);
?>


##

繼續學習
||
<?php //初始化 $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, CURLOPT_URL, "http://www.php.cn"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); //执行并获取HTML文档内容 $output = curl_exec($ch); //释放curl句柄 curl_close($ch); //打印获得的数据 print_r($output); ?>