PHP中使用curl方法介紹
這篇文章主要介紹了PHP中使用curl入門教程,本文講解了curl概述、安裝curl、PHP中使用curl的步驟、一個簡單的curl代碼實例等內容,需要的朋友可以參考下
概述
在我的上一篇文章curl和libcurl簡介中簡單的給大家介紹了curl相關的知識。這篇文章向大家介紹一下PHP中的curl擴展。
儘管在上一篇文章中,對curl和libcurl做了區分,也解釋了某些相關的概念。同時,也知道了PHP中的curl擴展其實是對libcurl的封裝。但是,在這篇文章中,為了寫起來方便,將不再對這兩個概念進行區分,因此文章接下來提到的curl其實是指libcurl,希望不會把大家繞糊塗。
關於PHP中curl擴展這裏就不再過多介紹了,大家可以查下文檔。
安裝curl
關於curl的安裝,這裏也不做過多的介紹。windows和linux都是一樣的流程,根據平台選擇相應的安裝方式,然後在文件中開啟curl擴展,與別的擴展的安裝都是一樣的。
PHP中使用curl的步驟
在PHP中,可以使用curl完成各種各樣的功能,如抓取網頁,文件的上傳/下載、模擬登錄等。但是這些功能的實現都是基於四個步驟完成的,所以curl的使用並不複雜。
使用curl時,主要分為以下四個步驟:
1.初始化一個curl實例curl_init()
2.設置curl執行時的相關選項curl_setopt()
3.執行curl查詢curl_exec()
4.關閉curlcurl_close()
在這四個步驟中,1、3、4步都很容易。最麻煩的'就是2步,這一步設置curl的選項,這裏有100多個不同的選項,要完成不同的功能,就要對這些選項進行組合。
下面對這四個步驟做一下説明:
1.初始化一個curl實例,這一步使用函數curl_init(),查看一下PHP手冊,可以看到該函數的返回值是一個資源(resource)類型,我們需要使用一個變量來保存這個實例,因為後面的步驟都會用到這個實例。具體代碼示例:
代碼如下:
$curl=curl_init(); //輸出resource(2, curl)
2.設置curl相關選項,設置curl選項使用函數curl_setopt()。該函數接受三個參數:第一個參數就是要設置的curl的實例也就是第一步中的那個實例,第二個參數要設置的選項,是一個預定義的常量,具體都有哪些選項,大家可以在手冊裏自行查閲。第三個參數是要設置的選項的具體值。
代碼示例:
代碼如下:
curl_setopt ($curl, CURLOPT_URL,
3.執行curl查詢,這一步使用函數curl_exec()。該函數接受一個參數,這個參數也是第1步中獲取的實例。
代碼示例:
複製代碼 代碼如下:
curl_exec ($curl);
4.關閉當前curl,這一步使用函數curl_close()。該函數同樣也是接受第1步中獲取的curl實例作為參數。
代碼示例:
代碼如下:
curl_close($curl);
在PHP中使用curl一般都遵循這四個步驟,其中主要是通過對2步的不同設置來完成不同的功能,所以第2步是最麻煩的,有的甚至需要大家用心理解。
一個簡單的curl代碼實例
前面給大家介紹了使用curl的四個步驟,這裏給大家簡單演示一個抓取網頁內容的實例,代碼很簡單,但是希望能幫助大家更好的理解curl。
抓取百度首頁內容:
代碼如下:
$curl=curl_init();
curl_setopt ($curl, CURLOPT_URL,
$baidu=curl_exec($curl);
curl_close($curl);
運行這一段代碼,頁面將顯示百度首頁。
總結
截止到今天,寫了五六篇博客了。很想把自己學習的知識記錄下來,也很想跟大家分享,但是一直覺得自己的語言組織能力不是太好,不知道看到文章的人能不能看懂,希望以後在語言組織方面能不斷進步吧。
-
asp.net 操作INI文件讀寫類實例代碼
操作INI文件讀寫類實例代碼複製代碼代碼如下:usingSystem;usingropServices;using;using;namespaceCommon{//////INI文件讀寫類。///publicclassINIFile{publicstringpath;publicINIFile(stringINIPath){path=INIPath;}[DllImport("kernel32")]privatestaticex...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
WAP的簡介
WAP協議被設計用來在無線客户端(比如移動電話)上展示因特網內容。您應當具備的基礎知識在繼續學習之前,您需要對下面的知識有基本的瞭解:WWW,HTML以及有關網頁構建的基礎知識JavaScriptXML如果您希望首先學習這些項目,請在我們的首頁訪問這些教程。什麼是WAP?無線產...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...