CURL的一些使用

2021-09-19 12:42:17 字數 2080 閱讀 3984

使用curl的php擴充套件完成乙個http請求的傳送一般有以下幾個步驟:

初始化連線控制代碼;

設定curl選項; 

執行並獲取結果;

釋放vurl連線控制代碼

下面的程式片段是使用curl傳送http的典型過程

// 1. 初始化

$ch = curl_init();

// 2. 設定選項,包括url

curl_setopt($ch,curlopt_url,"");

curl_setopt($ch,curlopt_returntransfer,1);

curl_setopt($ch,curlopt_header,0);

// 3. 執行並獲取html文件內容

$output = curl_exec($ch);

if($output === false )

// 4. 釋放curl控制代碼

curl_close($ch);

curl_init():初始化curl連線 

curl_setopt():通過設定curl函式庫定義的選項來定製http請求

curl_setopt()裡有多種選項(在post請求中也是可以傳輸get資料的,只需要在url中拼裝get請求資料即可):

curlopt_url : 指定請求的url; 

curlopt_returntransfer: 設定為1表示稍後執行的curl_exec函式的返回是url的返回字串,而不是把返回字串定向到標準輸出並返回true;

curllopt_header: 設定為0表示不返回http頭部資訊。

專屬post請求的選項

curlopt_post : 標識這個請求是乙個post請求;

curlopt_postfields : 傳輸引數;

curl_exec() :執行curl請求,如果沒有錯誤發生,該函式的返回是對應url返回的資料,以字串表示滿意;如果發生錯誤,該函式返回 false。需要注意的是,判斷輸出是否為false用的是全等號,這是為了區分返回空串和出錯的情況。

curl_close():關閉curl連線 

**

*@desc 封閉curl的呼叫介面,get的請求方式。

}

2.post請求

/**

** @desc 封裝 curl 的呼叫介面,post的請求方式

**/function docurlpostrequest($url,$requeststring,$timeout = 5)

$con = curl_init((string)$url);

curl_setopt($con, curlopt_header, false);

curl_setopt($con, curlopt_postfields, $requeststring);

curl_setopt($con, curlopt_post,true);

curl_setopt($con, curlopt_returntransfer,true);

curl_setopt($con, curlopt_timeout,(int)$timeout);

return curl_exec($con);

curl_close($con);

}

對CURL的一些研究

對curl的一些研究 前兩天看到有人求客戶端socket 發http包的 受flw版主啟發找了一些perl的資料,不過對perl 還是不太熟悉。也沒有深入的研究。無意中發現了libcurl.so 這個庫。去google上搜尋發現它是處理客戶端傳送http請求的庫 以及可以處理web伺服器回送回來的包...

對CURL的一些研究

前兩天看到有人求客戶端socket 發http包的 受flw版主啟發找了一些perl的資料,不過對perl 還是不太熟悉。也沒有深入的研究。無意中發現了libcurl.so 這個庫。去google上搜尋發現它是處理客戶端傳送http請求的庫以及可以處理web伺服器回送回來的包。研究 了兩天將研究的成...

對CURL的一些研究

對curl的一些研究 前兩天看到有人求客戶端socket 發http包的 受flw版主啟發找了一些perl的資料,不過對perl 還是不太熟悉。也沒有深入的研究。無意中發現了libcurl.so 這個庫。去google上搜尋發現它是處理客戶端傳送http請求的庫 以及可以處理web伺服器回送回來的包...