curl_setopt函數是用來設置cURL請求選項的核心工具。在PHP中,使用cURL進行HTTP請求時,常常需要對請求的不同方面進行配置,比如設置請求方法、請求頭、請求體等內容。 curl_setopt可以非常方便地完成這些配置。
$ch = curl_init(); // 初始化cURL會話
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/v1/resource"); // 設置請求的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 設置返回數據為字符串而非直接輸出
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // 設置請求超時時間
在這個示例中,我們利用curl_setopt為cURL會話設置了多個選項,如URL、返回方式和超時限制。
curl_close函數用於關閉一個已初始化的cURL會話並釋放相關資源。當我們完成了cURL操作之後,調用curl_close是一個好習慣,它可以有效地釋放系統資源,避免內存洩漏。
curl_close($ch); // 關閉cURL會話
在實際開發中, curl_setopt和curl_close常常是一起使用的。首先,我們使用curl_setopt配置請求的相關選項,然後使用curl_exec執行請求,最後利用curl_close關閉會話。
// 初始化cURL會話
$ch = curl_init();
// 設置請求的URL
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/v1/resource");
// 設置返回數據為字符串
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 設置請求超時時間
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
// 執行請求並獲取響應
$response = curl_exec($ch);
// 錯誤處理
if(curl_errno($ch)) {
echo 'cURL Error: ' . curl_error($ch);
}
// 關閉cURL會話
curl_close($ch);
// 輸出響應數據
echo $response;
初始化cURL會話:通過curl_init()初始化cURL會話。
設置cURL選項:通過curl_setopt配置請求URL、返回方式以及超時時間等。
執行請求:通過curl_exec執行請求,並將響應保存到變量中。
錯誤處理:使用curl_errno檢查是否發生了錯誤,如果有錯誤發生,使用curl_error輸出錯誤信息。
關閉cURL會話:最後,調用curl_close關閉cURL會話,釋放資源。